Application design questions

Hi guys,
I want an architecture opinion from you for an application that I want to build and currently I am focused on XE DB with APEX.
I will try presenting the type of users and data that the application will have and see if the design I have in mind will meet the requirements.
We will have 3 types of users inside each unit:
Unit groups logically all these users and their data.
1. Small_np —this type will be able to see(no write ) only data associated to him. This may be 5000- 10 000 rows. There can be 50-100 users of this type in a unit.
2. Medium_alter - this type will be able to see and alter the data for each type of user small_np. There can be up to 5 users of this type in a unit.
3. admin_alter - this type of user will be able to do what medium_alter does plus some reports that includes all data. 2-3 users maximum
*np stand for no_privilege
I will try to minimize the queries in this unit:
- by not allowing the small_np to query all rows at once (5000-10000). They will be able only to search and see one row at a time. so an index will work great.
- by not allowing the medium_alter to query all rows at once (50-100users)*(5000-10000rows ). They will be able to see one row at a time and insert one row at a time. So an index will work great
- the reports(analisys) needed by admin_alter , will need to query all data, but I will do some materialized views, schedule jobs at midnight..etc so this type of user will access only what medium_alter does(row level) and uses reports generated during the night.
In this configuration I intend to create one oracle user for each end user (~110). Set role at login time; implement security with views and FGAC.
On top, I will have one schema with all data, one schema with procedures, packages. The data schema will have a table with all rows (10k*50users)=500K, and the users will access only the data they are supposed to access.
Is there a downside for this? Should I create just one oracle user for all small_np? This way I will have only ~10 users?! Is there a limit for oracle users so at some point my application will not scale? What are the disadvantages for this? Any other idea?
How APEX is working regarding connection polling? I will be able to use connection pooling if I have a lot of users?
On top of this, I need to be able to create in my application as many units I want. So at some point in time I can have 5 units and each unit will have their users and data, and they need to access only data from that unit. If I will reach to the point when I have multiple units, and this means that my data table can have 500k*5, I can use partitioning with oracle EE, and create partitions for each unit, so each unit will continue to work only on their data. Other solution will be to create separate tables for each unit, but at some point the user(admins) will need to move rows from one table to another instead of one partition to another. This may be cheaper (no EE with partitioning) but harder to implement.
At the end I will have a new type of user that will be able to see the reports of all admins and so it will be able to see the situation of all units.
For one unit, do you think that it is enough XE(this means one GB RAM and one proc)?
The small_np users will rarely connect to the application, lets say 500 connection per day and the admins will be like 1 connection per minute.(for one unit)
If I will need to scale to multiple units I will need to buy enterprise or standard with multiple cores.(4GB with two cores).
Any advice is highly appreciated
Thanks for your time

Thanks for the reply. But I tried to outline which data the end-user logically needs to have by describing what the users can access.
some users can only insert data, other users can only see the data inserted from them and others can see any data and do reports on that..not sure that the kind of data metter. there are a lot of users involved and the data will some somehow logically grouped. I am a new comer on this kind of questions so any help is welcomed.
please detail 'Nobody is going to like it.'
Thanks

Similar Messages

  • APEX application design question

    Hi,
    I've been working with APEX for a few years now but so far all of the applications that I have built have been hierarchical in their design. The format I generally stick to seems to work, which is to use a combination of tab pages containing lists of actions, and underneath that multiple instances of forms on tables with reports. This means that if it is a simple application you're fine, you go to your tab, filter the report, click into the record and update the data.
    The problem I have is that I have a request to turn one of my applications from this format into a more process oriented application. This meant that some of the forms need to be accessed from more than one place and entities that were once separate now need to have links between them. Where some of the validations on the forms are already quite complex, I don't want to duplicate the form. I'm not keen on having the forms work as pop-ups either in the traditional sense.
    Has anyone got any ideas on how I might get around this? I thought of trying to integrate something like ext-js and making a template that is more of a graphical environment but I fear that I may be over complicating the problem.
    A specific example of the problem I encounter can be found in the Sample Application in APEX 4.0.
    1. On the home screen, from the "Customers" report, click one of the customer names.
    2. You are now diverted to the "Customers" tab. If you click "Cancel" from here you're taken back to the "Customer" report, not to the home screen.
    I've tried to keep tabs of "Previous Page" in another application and this just makes maintenance a nightmare.
    Really I'm trying to find out if anyone has developed any non-hierarchical templates/ applications and whether they were successful.
    Thanks,
    Matt

    If I'm understanding the problem statement correctly, you just need to control your branching so you know where you came from so that you can go back to that same spot post-process/cancel since that can vary. I'll sometimes create a branch_from hidden item on those types of pages and then use that item as the branch-to-page substitution. It's really simple to implement and I can't think of any maintenance unless you are consistently jumbling pages around.
    Thanks,
    Ron

  • Web Application Designer questions

    Hello,
    1. I want to write a Java script function to display system date in WAD. I don't know the exact format for writing Javascript code in WAD. I tried with some code. It did not work. Could someone point me to any links for writing the code in WAD (in Script web item)?
    2. I inserted company logo in a report web item (In report designer, I inserted the logo in page header section. There is only header in the report). in the web template, apart from the report item, there are some ext and analysis web items. When i execute the web template, only the logo comes on first page and the text and analysis web items come on the next page. How to fix it? How to see that the text and analysis web items continue below logo.
    3. Also, one of the query title (text element) comes at the end of 2nd page and the data comes in next page. Is there a way of binding the title and data to come in one page?
    Please suggest.
    Regards.

    Hi,
    Hope this helps. You are using WAD 7.0 or WAD 3.5 ?
    WAD 3.5
    1. Use of Text Item: In the Standard Tab, select the  TEXT Web Item and drop it in the template. Bind the Query or Analysis item or Data Provider.
    Then do not tick any of the options under Specific. Instead, go to List of Text Elements. In the first column, select General Text Symbol. In the next column type SYUZEIT.
    This will give the technical name of the query in the output.
    Common text elements:
    u2212 technical name of the query (REPTNAME)
    u2212 description of the query (REPTXTLG)
    u2212 InfoProvider (INFOCUBE)
    u2212 key date for the query (SRDATE)
    u2212 accuracy of the data (date and time) (ROLLUPTIME)
    u2212 the person who wrote the query (AUTHOR)
    u2212 the last time the query was changed (date and time)
    (MODTIME)
    u2212 the last person to make changes to the query (MODUSER)
    u2212 current user (SYUSER)
    u2212 the last time the query was refreshed (date and time)
    (SYUZEIT)
    WAD 7.0
    Go to Misc Tab on the left hand pane and select the Text item. Drag n drop. Bind the Query or Analysis Item. Then select General Characteristics and select "Last Refreshed".
    2.Bind the corresponding Text Element to the Query for the name . Or you can use the option of "Display with Tray".
    Can you give some clarifications here,
    What format do u want to export them to ? Depending on that make the settings.

  • Integrated Planning & Web Application designer question

    We have a planning application that has an associated web template along with it.
    We have a button on the template and it executes a planning function. The issue i see is the planning function has a filter within it at a higher level (say it returns 1000 rows).
    On the web template we set the filter at a much lower level (say the filtered records are only 50). When we execute the planning function I see that it says 1000 rows read and x changed etc. How do i ensure that the planning function executes for the records that are only in the filter in the front end.
    Here is the setting on the button -
    Command - Execute Planning Function
    Binding type - Web Item Selection
    Web Item - Filter1
    Any suggestions?

    Hello Expert,
    Now if i use '0calyear' as info object, and 'year' as my variable for 0calyear info object in the query. This Info object is under column.
    And i use Navigation block to publish this Info object in the web template. The coding are as below:
    </object></TD>
        <TD vAlign=top><object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="NAVIGATIONBLOCK_2"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_NAV_BLOCK"/>
             <param name="DATA_PROVIDER" value="DATAPROVIDER_QUERY"/>
             <param name="GENERATE_CAPTION" value=""/>
             <param name="CAPTION" value="Period"/>
             <param name="HORIZONTAL_NUMBER" value="1"/>
             <param name="SHOW_ROWS" value=""/>
             <param name="SHOW_FREE_CHARACTERISTICS" value=""/>
             <param name="SHOW_NAVIGATION_ICONS" value=""/>
             <param name="ITEM_NAV_BLOCK_IOBJNM_1" value="0CALYEAR"/>
             <param name="BOOKED_VALUES_1" value="Q"/>
             <param name="ITEM_NAV_BLOCK_IOBJNM_2" value="4458DUVKT8KDWAW4TFD0SGPCW"/>
             <param name="BOOKED_VALUES_2" value="Q"/>
             ITEM:            NAVIGATIONBLOCK_2
    </object></TD>
    So, When i run the web template, the first screen prompts to key in variable year. So, right now, the variable year is 2006.
    So, how should i take/enable this variable '2006' to publish in my navigation block?
    If you say javascript, where should i add in between the coding above?

  • Simple Bex Web Application Designer question

    Hi,
    i have a web template with a Hierarchical Context Menu web item. I'd like to use one of its hierarchy with all node but without only one.
    How can i exclude a hierarchy node from hierarchical context menu? How can i use only a part of a hierarchy?
    Thanks a lot
    Richard

    Hi,
      You need to restrict the hierarchy values in the query design. Select all those hierarchy values without that only one hierarchy for that particular characteristics in query design.
    Hope it helps
    arun

  • To use Web Application Designer release 2004s do we need to have portals???

    Hi
    I would like some clarity regarding whther we need a portal or not.
    If you use Web Application Designer (SAP BW 3.x) it works fine, you can create reports and then it shows in SAP Easy Access under favourites. Executes fine, no portal is used.
    Now when I want to use the new Web Application Designer I can not execute the reports. Gives me error
    "Java communication error: RFC destination NOT_CONFIGURED does not exist", the window it appears in has a text saying it can't conect to the portal. Then notes that I look at regarding this seems that the connection between SAP BW and Portal must be set up.
    So can please someone tell me whether you need the portal to use the new Web Application Designer release 2004s
    Thanks in advance

    YOu neeed BI Java configured
    If you do not use any new BEx Web functions, do you have to install the usage types BI Java and EP?
    answer -SAP EP 6.0 Portals could be integrated into a federated portal system landscape using URL iViews.
    For more insights - FAQ
    Pls read carefuly should answer all your current and future questions.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/43008b6a-0901-0010-90af-c848d878bac3?rid=/library/uuid/a5067965-0901-0010-6f8a-bbf0b7424283
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/43008b6a-0901-0010-90af-c848d878bac3?rid=/library/uuid/cea68c65-0901-0010-f5a4-fd34189d8078
    Hope it Helps
    Chetan
    @CP..

  • Web Application Designer: Column width on analysis_item with BW 7.0

    Hi,
    I'm new to SAP world and I have found a problem I'm not able to solve. I'm working with the Web Application Designer and I want to modify the cell properties (such as cell width) for aligning different queries. In fact, my question are:
    <b>
    1. Is it possible to hard-code/specify column widths of the analysis_item?
    2. The property width of the analysis_item doesn't work, does it?
    </b>
    Thanks for your time and efforts.
    Message was edited by:
            Daniel Rubio

    Hi,
    I have just discovered the capability of modifying columns widths with css properties.
    So if I add to the head section of the html:
    div.prueba2 .urSTTDBdr1
    div.prueba2 .urSTTDBdr
    div.prueba2 .urSTTDBdr2
    And later I put the AnalysisItem between a div class="prueba2" and /div, the columns widths are changed.
    Do you know where can I find all the style properties (such as urSTTDBdr1) and its functions?
    Thanks

  • Design question: Scheduling a Variable-timeslot Resource

    I originally posted this in general java programming, because this seemed like a more high-level design descussion. But now I see some class design questions. Please excuse me if this thread does not belong here (this is my first time using the forum, save answering a couple questions).
    Forum,
    I am having trouble determining a data structure and applicable algorithm (actually, even more general than the data structure -- the general design to use) for holding a modifiable (but more heavily read/queried than updated), variable-timeslot schedule for a given resource. Here's the situation:
    Let's, for explanation purposes, say we're scheduling a school. The school has many resources. A resource is anything that can be reserved for a given event: classroom, gym, basketball, teacher, janitor, etc.
    Ok, so maybe the school deal isn't the best example. Let's assume, for the sake of explanation, that classes can be any amount of time in length: 50 minutes, 127 minutes, 4 hours, 3 seconds, etc.
    Now, the school has a base operation schedule, e.g. they're open from 8am to 5pm MTWRF and 10am to 2pm on saturday and sunday. Events in the school can only occur during these times, obviously.
    Then, each resource has its own base operation schedule, e.g. the gym is open from noon to 5pm MTWRF and noon to 2pm on sat. and sun. The default base operation schedule for any resource is the school which "owns" the resource.
    But then there are exceptions to the base operation schedule. The school (and therefore all its resources) are closed on holidays. The gym is closed on the third friday of every month for maintenance, or something like that. There are also exceptions to the available schedule due to reservations. I've implemented reservations as exceptions with a different status code to simplify things a little bit: because the basic idea is that an exception is either an addition to or removal from the scheduleable times of that resource. Each exception (reservation, closed for maintenance, etc) can be an (effectively) unrestricted amount of time.
    Ok, enough set up. Somehow I need to be able to "flatten" all this information into a schedule that I can display to the user, query against, and update.
    The issue is complicated more by recurring events, but I think I have that handled already and can make a recurring event be transparent from the application point of view. I just need to figure out how to represent this.
    This is my current idea, and I don't like it at all:
    A TimeSlot object, holding a beginning date and ending date. A data structure that holds list of TimeSlot objects in order by date. I'd probably also hold an index of some sort that maps some constant span of time to a general area in the data structure where times around there can be found, so I avoid O(n) time searching for a given time to find whether or not it is open.
    I don't like this idea, because it requires me to call getBeginningDate() and getEndDate() for every single time slot I search.
    Anyone have any ideas?

    If I am correct, your requirement is to display a schedule, showing the occupancy of a resource (open/closed/used/free and other kind of information) on a time line.
    I do not say that your design is incorrect. What I state below is strictly my views and should be treated that way.
    I would not go by time-slot, instead, I would go by resource, for instance the gym, the class rooms (identified accordingly), the swimming pool etc. are all resources. Therefore (for the requirements you have specified), I would create a class, lets say "Resource" to represent all the resources. I would recommend two attributes at this stage ("name" & "identifier").
    The primary attribute of interest in this case would be a date (starting at 00:00hrs and ending at 24:00hrs.), a span of 24hrs broken to the smallest unit of a minute (seconds really are not very practical here).
    I would next encapsulate the availability factor, which represents the concept of availability in a class, for instance "AvailabilityStatus". The recommended attributes would be "date" and "status".
    You have mentioned different status, for instance, available, booked, closed, under-maintainance etc. Each of these is a category. Let us say, numbered from 0 to n (where n<128).
    The "date" attribute could be a java.util.Date object, representing a date. The "status", is byte array of 1440 elements (one element for each minute of the day). Each element of the byte array is populated by the number designation of the status (i.e, 0,1,2...n etc.), where the numbers represent the status of the minute.
    The "Resource" class would carry an attribute of "resourceStatus", an ordered vector of "ResourceStatus" objects.
    The object (all the objects) could be populated manually at any time, or the entire process could be automated (that is a separate area).
    The problem of representation is over. You could add any number of resources as well as any number of status categories.
    This is a simple solution, I do not address the issues of querying this information and rendering the actual schedule, which I believe is straight forward enough.
    It is recognized that there are scope for optimizations/design rationalization here, however, this is a simple and effective enough solution.
    regards
    [email protected]

  • How to use Application Designer with virtual box vm's

    hi all,
    I could use some help please.
    I have everthing installed and working on the VMs but now I want to use Application Designer but I must be doing something wrong.
    I installed the Oracle client on windows and created tnsnames.ora. I can't connect to the database from windows to vm.
    I have some questions which might help me fix this.
    The directory that was mentioned to put tnsnames.ora in (C:\app\Mike\product\11.2.0\client_1\network\admin\) was not there so I had to create it. Was that what I was supposed to do or did the install go bad?
    For the windows host file what should the ip addresses be? I used the IP Addresses of the eth1 network interface from both guests which I created.
    As far as the PeopleTools on windows I used PT 8.52 but with no patch will that work even though the VMs are PT 8.52.06? So if I need the patch in order for App Designer to work how can I get the patch I think I need an account to do that. I think it mentions in the OVM doc that they are included somewhere so should I use those instead?

    <strike>With virtualbox vm's I assume that you mean the OVM templates converted to virtualbox.</strike>
    Didn't notice the OVM category :)
    Which Oracle Client installer did your use?
    You could use the following download from MOS for Database 11.2..02 (since Peoplesoft database is also delivered at 11.2.0.2)
    Patch 10098816: 11.2.0.2.0 PATCH SET FOR ORACLE DATABASE SERVER
    From the patch set download only p10098816_112020_platform_4of7.zip, which is your database client. The rest you will not need to be able to use Application Designer and Datamover.
    Once downloaded start the installer and choose option Runtime (do not choose Instant Client or Administrator).
    Now that you have your connectivity, you can start the PIA-AppBatch vm.
    switch to psadm2 user and go to $PS_HOME.
    Here you will find two files
    toolsclient.zip (PeopleTools 8.52, use client only)
    toolspatchvcd.zip (PeopleTools patch 8.52.06, , use client only)
    Copy these files to your windows workstation and install them in that order.
    Copy the tnsnames from the Database vm to your oracle client install dir network\admin dir and you should be ready to start using Application Designer/Datamover.
    For more detailed information see the post from Nicolas:
    http://gasparotto.blogspot.nl/2012/09/psovm-fscm-91-feature-pack-2.html
    http://gasparotto.blogspot.nl/2011/10/peopletools-852-client-installation.html
    Regards,
    Hakan
    Edited by: Hakan Biroglu on Mar 9, 2013 1:23 PM
    Edited by: Hakan Biroglu on Mar 9, 2013 1:30 PM

  • Print PDF file with the lay out created in the BEx web application designer

    Got the following questions (problems) when print a web report created in BEx Web Application Designer to a PDF file:
    1. The tile (which has a company logo and report name in it) was not printed, is it possible to print a title (with company logo) on each page of the PDF file?
    2. Want print the filters that have value specified on the PDF file, is it possible to do this?
    Any help is appreciated, thanks.

    Hi Simon,
    you can achieve this requirement i.e. using this way of implementation:
    1. Create a new template which contains the required fields (company logo etc) and set the visibility of the top container to "hidden". Add a empty data provider to this template and add the filter values (variable names) you want to display on the PDF. However be aware that the name for the (empty) data provider must match the name of the data provider within the original template you want to print.
    2. Open your original template and include the template you created in step 1 (Advanced: Web Templates). Choose the appropriate location (above/below the analysis item.
    3. Check the settings of your export command: do not set a special web item to be printed.
    If you export the template within web the second template should be printed correctly.
    Brgds,
    Marcel

  • Functional application design  =  Logical components/Physical components

    Hello
    In realisation phase I come across terms
    Functional application design  =  Logical components
    Functional application design  =  Physical components
    Can I get some explanation what is the principle difference between a logical and Physical component.
    Thanks

    It depends entirely on the business requirements. Specifically
    - is a lot of concurrent 'history and active record' reporting required?
    - what is the ratio of active to deleted records?
    - can the [performance, maintenance and development] cost of avoiding deleted records be justified?
    - is a 'history' table acceptable instead of inline records?
    - what is the "too many rows, we need to delete some" archive strategy?
    Once past the analysis stage, into design
    - is the shop oriented towards RDBMS as a data manager or a data storage and retrievval system?
    - do developers code in a client/middle tier or are they knowledgeable coders in the database tier?
    - do you intend to squeeze the value out of Oracle, or do you code everything on your own?
    These last 3 questions are really the same thing.

  • PeopleTools 8.49 Application Designer cannot log into HRCS 9.0 Database

    Folks,
    Hello. I am working on Human Resources and Campus Solution 9.0 (HRCS 9.0) Portal. The thing is as below:
    I understand HRCS 9.0 requires PeopleTools 8.50 or higher. But I have no choice to use PeopleTools 8.49 for it.
    My PeopleSoft Internet Architecture is PeopleTools 8.49, Weblogic 9.2, Tuxedo 9.0 and MS SQL Server 2005.
    My Operating System is Windows Server 2003 on the top of VM Player 3.
    First time, I installed HRCS 9.0 with PeopleTools 8.49 and set up HRCS 9.0 Database in SQL Server successfully.
    Application Designer log into Database HRCS 9.0 successfully with UserId PS and Password PS.
    Later, the miserable thing happens to me: I delete HRCS 9.0 Database in SQL Server by an accident !
    I set up HRCS 9.0 Database again, but Application Designer cannot log into HRCS 9.0 Database any more.
    I create a new Virtual Machine to install entire PIA and PeopleTools 8.49 with Windows Server 2003 and set up HRCS 9.0 Database, but Application Designer still cannot log into HRCS 9.0 Database.
    My question is:
    How to have PeopleTools 8.49 Application Designer log into HRCS 9.0 Database in SQL Server 2005 as I did it at the first time ?
    Thanks in advance.

    Hi,
    When you look at the readme on Oracle Software Delivery Cloud for PeopleSoft Human Capital Management and Campus Solutions 9.0:
    PeopleSoft Human Capital Management and Campus Solutions 9.0 – Revision 5: This part (number V30469-01) has replaced the PeopleSoft Enterprise Human Resources Management System (HRMS) and Campus Solutions 9.0 media (part number B34591-01), the PeopleSoft Enterprise Human Resources Management System and Campus Solutions 9.0 - Revision 1 media (part number V20635-01) and the PeopleSoft Enterprise Human Resources Management System and Campus Solutions 9.0: Feature Pack – March 2011 media (part number V24852-01). New installations of PeopleSoft Human Capital Management and Campus Solutions 9.0 should use this part. If you have already installed the original HRMS and Campus Solutions 9.0 (part number B34591-01) media, Revision 1 (part number V20635-01) media, or Feature Pack - March 2011 (part number V24852-01) media, you should install the Maintenance Packs or bundles available on My Oracle Support; you should not install this part. The PeopleSoft Human Capital Management and Campus Solutions 9.0 – Revision 5 media includes all maintenance posted through December 27, 2011 (up to PeopleSoft HCM and CS Maintenance Pack 13, PeopleSoft HRMS Bundle #18, PeopleSoft Campus Solutions Bundle #23, PeopleSoft Payroll Tax Update 11-F, and Global Payroll Update 2011-F). If you install this media, you do not need to separately install these maintenance packs or bundles. All installs of HCM and Campus Solutions 9.0 – Revision 5 require PeopleTools 8.52.03 or higher+. Please check the upgrade documentation for the PeopleTools requirements for your specific upgrade path. For additional information on PeopleSoft Feature Packs, please go to My Oracle Support.
    So if you are using the install files from Oracle Software Delivery Cloud for PeopleSoft Human Capital Management and Campus Solutions 9.0, you can only download the revision recut that is running on PeopleTools 8.52.03 and you can not downgrade to PeopleTools 8.49.
    If you have your original installation files (HRMS 9.0 on PeopleTools 8.49), you can use these.
    If you do not have your original installation files, you only option is to contact Oracle
    Regards,
    Hakan

  • SOA real-time design question

    Hi All,
    We are currently working with SOA Suite 11.1.1.4. I have a SOA application requirement to receive real-time feed for six data tables from an external third party. The implementation consists of five one-way operations in the WSDL to populate the six database tables.
    I have a design question. The organization plans to use this data across various departments which requires to replicate or supply the data to other internal databases.
    In my understanding there are two options
    1) Within the SOA application fork the data hitting the web-service to different databases.
    My concern with this approach is what if organizations keep coming with such requests and I keep forking and supplying multiple internal databases with the same data. This feed has to be real-time, too much forking with impact the performance and create unwanted dependencies for this critical link for data supply.2) I could tell other internal projects to get the data from the populated main database.
    My concern here is that firstly the data is pushed into this database flat without any constraints and it is difficult to query to get specific data. This design has been purposely put in place to facilitate real-time performance.Also asking every internal projects to get data from main database will affect its performance.
    Please suggest which approach should I take (advantage/disadvantage. Apart from the above two solutions, is there any other recommended solution to mitigate the risks. This link between our organization and external party is somewhat like a lifeline for BAU, so certainly don't want to create more dependencies and overhead.
    Thanks

    I had tried implementing the JMS publisher/subscriber pattern before, unfortunately I experienced performance was not so good compared to the directly writing to the db adapter. I feel the organization SOA infrastructure is not setup correctly to cope with the number of messages coming through from external third party. Our current setup consists of three WebLogic Servers (Admin, SOA, BAM) all running on only 8GB physical RAM on one machine. Is there Oracle guideline for setting up infrastructure for a SOA application receiving roughly 600000 messages a day. I am using SOA 11.1.1.4. JMS publisher/subscriber pattern just does not cope and I see significant performance lag after few hours of running. The JMS server used was WebLogic JMS
    Thanks
    Edited by: user5108636 on Jun 13, 2011 4:19 PM
    Edited by: user5108636 on Jun 13, 2011 7:03 PM

  • Workflow design questions: FM vs WF to call FM

    Hereu2019s a couple of workflow design questions.
    1. We have Workitem 123 that allow user to navigate to a custom transaction TX1. User can make changes in TX1.  At save or at user command of TX1, the program will call a FM (FM1) to delete WI 123 and create a new WI to send to a different agent. 
    Since Workitem 123 is still open and lock, the FM1 cannot delete it immediately, it has to use a DO loop to check if the Workitem 123 is dequeued before performing the WI delete.
    Alternative: instead of calling the FM1, the program can raise an event which calls a new workflow, which has 1 step/task/new method which call the FM1.  Even with this alternative, the Workitem 123 can still be locked when the new workflowu2019s task/method calls the FM1.
    I do not like the alternative, which calls the same FM1 indirectly via a new workflow/step/task/method.
    2. When an application object changes, the user exit will call a FMx which is related to workflow.  The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow .. step .. task .. method .. FMx indirectly.  This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
    My recommendation is to call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object.
    Any recommendation?
    Amy

    Mike,
    Yes, in my first design, the TX can 1. raise a terminating event for the existing workitem/workflow and then 2. raise another event to call another workflow.   Both 1 and 2 will be in FM1. 
    Then the design question is: Should the FM1 be called from TX directly or should the TX raise an event to call a new workflow which has 1 step/task, which calls a method in the Business object, and the method calls the FM1?
    In my second design question, when an application object changes, the user exit will call a FMx which is related to workflow.  The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow, which has 1 step/task, which calls a method, which calls the FMx indirectly.  This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
    My recommendation is either call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object or raise an event to call a receiver FM (FMx).
    Thanks.
    Amy

  • WLPI Design Question

    I've got a bit of a design question for Process Integrator. Currently I'm building
    a prototype for an exception handling system using Process Integrator. The application
    has to be web based and I'm using the Front Controller design pattern that is
    described in the J2EE Blueprint docs.
    I've come across a bit of a design problem. Should I design the application so
    that all the user actions in a task are accessed via the api set or should I build
    this functionality into the template. For example, a user will action a task which
    requires the user to update some variables in the template. In the template definition
    should use a Send XML to Client action and then use the taskExecute method on
    the worklist, or should I do it all programatically?
    Also if I do use the Send XML to Client should I then mark the task done using
    the APIs or using the Studio. I have noticed that if I mark the task done wihtin
    the studio after sending the xml, the task becomes available for the next user,
    even if the variables haven't been updated yet.
    Sorry about the rambling nature of this post.
    Thanks in advance.
    Preyesh

    If you want to write code that's easier for you to write, you do whatever the hell you want.
    If you want to write good code, retain the ID.

Maybe you are looking for