User Authorization, best practices for this custom application requirement?

JDeveloper 12c (12.1.2)
We want to use external LDAP (active directory) with ADF security to authenticate and authorize users.
One of our custom application requirements is that there is a single page with many interactive components. It has probably about 15 tables and each table would need to have the following buttons (or similar components):
- delete: (if certain row is selected) to delete it
- edit: (if certain row is selected) takes user to 'edit page' where changes can be made
- create: to create new record for this particular VO (table)
So let's say that would be 3 x 15 = 45 different actions that single user can possibly perform. Not all users have same 'powers' ie some users can only edit CERTAIN tables, and delete from one or two. Most users can create and edit most VOs etc
Back when this application was originally developed using (I believe) 10g JDeveloper with UIX, the way it was done is that we maintained a table in database with 'user credentials' as Y or N flags.
For example: DEL_VO1, EDIT_VO1, ADD_VO1....
So when user is authenticated we would then pull all these credentials from the DB table and load them into the session variables. Then we would use EL to render or not render certain buttons on the page. For example: rendered="#{sessionScope.appDelVo1 == 'Y'}"
Moving forward into latest ADF technology, what would be the best practice to achieve described functionality?

Hi,
ADF BC could have permissions added to the entity level (includes remove and update). So you can create permissions for the entity (as it doesn't matter for data security how data is accessed. If as a user you are nit allowed to change a database table then this is for tables and forms). You can then use EL to check the permission, thus no need to keep the privileges in the database.
If a user is allowed to update an entity then you can check this using EL in the UI
<af:inputText value="#{bindings.DepartmentName.inputValue}"
readOnly="#{!bindings.DepartmentName.hints.updateable}">
whatch this for a full coverage of ADF Security: Oracle ADF Security Overview - Oracle JDeveloper 11g R1 and R2
Frank

Similar Messages

  • What’s the best practice for this scenario?

    Hi,
    My users want the ability to change the WHERE and/or ORDER BY clause at runtime. They may define user preferences on each screen ( which is bind to a view object). They want to see the same records based on WHERE/ORDER BY defined on the last visit. That is why I keep the users preferences and load the screen based on that, using :
    View.setWhereClause(...);
    View.setOrderByClause(...);
    View.executeQuery();
    This works good when only one user working with the application but faced low performance when more than one user working with the application.
    What are the points to increase the performance and what is the best practice for this scenario?
    Thanks for your help in advance.

    Sung,
    I am talking only about 2 users in my testing. I am sure i missed something but could not recognize that.
    This page is my custom query page including a tag to instantiate app module in stateful mode at the top <jbo:ApplicationModule..> and a tag to instantiate data source <jbo:Datasource...> and release tag at the bottom <jbo:ReleasePageResources..> and some java code in the middle(body). The java code constructed the query statement and then fires the query to set the view object based on the query statement using the above methods.
    So, I am facing very slow performance(speed) when two clients load this page at the same time. Looks like the entire application locks for others when one client load this page and fire the query. i realized the battle neck is where executeQuery() is executing.
    what do you think.
    Thanks in advance for your comments.

  • Best practice for mouseless ADF applications

    I am developing an ADF application where the users do not want to use the mouse.
    So I would like to know if there are a best practice for this?
    I am already using the accessKey functionality and subforms defaultCommand
    But I have had problems setting focus to objects on a page like tables. I would like a button to return the focus to the table after it has made the command like delete.
    I have implemented a solution where I have found inspiration several threads and other webpages (see below).
    Is this solution okay?
    Are there any problems with it?
    I would also like to know if there are better pathways to go like
    out of the box solutions,
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/79-global-template-button-strategy-360139.pdf (are there an example implementation?), or
    http://one-size-doesnt-fit-all.blogspot.dk/2010/11/adf-ui-shell-supporting-global-hotkeys.html
    in advance thanks
    Inspiration webpages
    https://blogs.oracle.com/jdevotnharvest/entry/how_to_programmatically_set_focus
    http://technology.amis.nl/2008/01/04/adf-11g-rich-faces-focus-on-field-after-button-press-or-ppr-including-javascript-in-ppr-response-and-clientlisteners-client-side-programming-in-adf-faces-rich-client-components-part-2/
    how to Commit table by writting Java code in Managed Bean?
    Table does not refresh and getting error as UIComponent is Null
    A short description of the solution:
    (jdeveloper version 11.1.1.2.0)
    --- Example where I use onSetFocus in jsff page
    <af:commandButton text="#{hrsusuiBundle.FOCUS}" id="cb10"
    partialSubmit="true" accessKey="f"
    shortDesc="Alt+Shift+F"
    actionListener="#{managedBean_clientUtils.onSetFocus}">
    <af:clientAttribute name="focusField" value="t1"/>
    </af:commandButton>
    --- Examples where I use doTableActionAndSetFocus in jsff page
    --- There have to be a binding in the jsff page to delete, commit and rollback
    <af:commandButton text="#{hrsusuiBundle.DELETE}" id="cb4"
    accessKey="x"
    shortDesc="Alt+Shift+X"
    partialSubmit="true"
    actionListener="#{managedBean_clientUtils.doTableActionAndSetFocus}">
    <af:clientAttribute name="focusField" value="t1"/>
    <af:clientAttribute name="actionField" value="Delete"/>
    </af:commandButton>
    <af:commandButton text="#{hrsusuiBundle.COMMIT}" id="cb5"
    accessKey="s" shortDesc="Alt+Shift+S"
    partialSubmit="true"
    actionListener="#{managedBean_clientUtils.doTableActionAndSetFocus}">
    <af:clientAttribute name="focusField" value="t1"/>
    <af:clientAttribute name="actionField" value="Commit"/>
    </af:commandButton>
    <af:commandButton text="#{hrsusuiBundle.ROLLBACK}" id="cb6"
    accessKey="z" shortDesc="Alt+Shift+Z"
    partialSubmit="true"
    actionListener="#{managedBean_clientUtils.doTableActionAndSetFocus}"
    immediate="true">
    <af:resetActionListener/>
    <af:clientAttribute name="focusField" value="t1"/>
    <af:clientAttribute name="actionField" value="Rollback"/>
    </af:commandButton>
    --- This is the java class I use
    --- It is published in adfc-config.xml as a request scope managedbean
    public class ClientUtils {
    public ClientUtils() {
    public void doTableActionAndSetFocus(ActionEvent event) {
    RichCommandButton rcb = (RichCommandButton)event.getSource();
    String focusOn = (String)rcb.getAttributes().get("focusField");
    String actionToDo = (String)rcb.getAttributes().get("actionField");
    UIComponent component = null;
    String clientId = null;
    component = JSFUtils.findComponentInRoot(focusOn);
    clientId = component.getClientId(JSFUtils.getFacesContext());
    if ( "Delete".equals(actionToDo) || "Commit".equals(actionToDo) || "Rollback".equals(actionToDo) ){
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    OperationBinding operationBinding = bindings.getOperationBinding(actionToDo);
    Object result = operationBinding.execute();
    AdfFacesContext.getCurrentInstance().addPartialTarget(component);
    if (clientId != null) {           
    makeSetFocusJavaScript(clientId);
    public static String onSetFocus(ActionEvent event) {
    RichCommandButton rcb = (RichCommandButton)event.getSource();
    String focusOn = (String)rcb.getAttributes().get("focusField");
    String clientId = null;
    if (focusOn.contains(":")) {
    clientId = focusOn;
    } else {
    clientId = findComponentsClientIdInRoot(focusOn);
    if (clientId != null) {           
    makeSetFocusJavaScript(clientId);
    return null;
    private static void writeJavaScriptToClient(String script) {
    FacesContext fctx = FacesContext.getCurrentInstance();
    ExtendedRenderKitService erks = null;
    erks = Service.getRenderKitService(fctx, ExtendedRenderKitService.class);
    erks.addScript(fctx, script);
    public static void makeSetFocusJavaScript(String clientId) {
    if (clientId != null) {
    StringBuilder script = new StringBuilder();
    //use client id to ensure component is found if located in
    //naming container
    script.append("var textInput = ");
    script.append("AdfPage.PAGE.findComponentByAbsoluteId");
    script.append ("('"+clientId+"');");
    script.append("if(textInput != null){");
    script.append("textInput.focus();");
    script.append("}");
    writeJavaScriptToClient(script.toString());
    public static String findComponentsClientIdInRoot(String id) {
    UIComponent component = null;
    String clientId = null;
    component = JSFUtils.findComponentInRoot(id);
    clientId = component.getClientId(JSFUtils.getFacesContext());
    return clientId;
    }

    Hi,
    I am developing an ADF application where the users do not want to use the mouse. So I would like to know if there are a best practice for this?
    Well HTML (and this is the user interface you see) follows a tab index navigation that you follow with "tab" and "shift+tab". Anything else is a short cut for which you use mnemonics (as you already do) or shortcuts (explained in http://one-size-doesnt-fit-all.blogspot.dk/2010/11/adf-ui-shell-supporting-global-hotkeys.html). There is a distinction to make between non-web environments (which I think you and your users have abackground in) and client desktop environments. Browsers block some keyboard functionality for their own purpose. So you may have to find a list of keys first that work across browsers. Unlike desktop clients, which allow you to "press a button" without the button to take focus, this cannot be done on the web. So you need to be clever here, avoiding buttons at all.
    The following paper is about JavaScript in ADF and explains the basics for what Chris Muir explains in : http://one-size-doesnt-fit-all.blogspot.dk/2010/11/adf-ui-shell-supporting-global-hotkeys.html
    http://www.oracle.com/technetwork/developer-tools/jdev/1-2011-javascript-302460.pdf
    It has the outline for how to register short cut keys that perform a specific action (e.g. register ctrl+d to delete the current row you are on, or press F11 to execute a query (similar to Oracle Forms frmres files)). However, be aware that this includes some code you have to write (actually quite some code to be honest).
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/79-global-template-button-strategy-360139.pdf (are there an example implementation?), or
    http://one-size-doesnt-fit-all.blogspot.dk/2010/11/adf-ui-shell-supporting-global-hotkeys.html
    Actually these are implementations as they come with example code for you to use and customize, do they? So what is this question asking for more ? Also note that global buttons don't quite have anything in common with the question you asked. I assume you want to see it as an implementation of the Forms toolbar that operates on the form or table the focus is in. This however does not work for the web as there is nothing that keeps track of which component has a focus and to what iterator (data block) it belongs. This would involve even more coding (though possibly doable)
    Frank

  • Best Practice for Deploying ADF application

    I am tasked with developing a best or prefered practice of feploying a large ADF application. Background: we are in the process of redeveloping a UI for a large system. We have broken the system down into susbsytems. Each of these susbsystems UI will be a ADF aaplicaion(?). This is a move from a MS .Net front end. The backend (Batch processes etc) is being dveloped in Java. So my question is if I have several ADF projects for each subsystem and common components that they all will use - what is the best practice to compile package and deploy? The deployment will be to weblogic server or servers(Cluster).
    We have a team of at least 40 -50 developers worldwide so we are looking for an automated build and deploy and would like to follow Oracle best practice. So far I have read Deploying ADF Applications (http://download.oracle.com/docs/cd/E15523_01/web.1111/e15470/deploy.htm#BGBJHGFH) and have followed the links. I have also look at the ADF evangalist blogs - lots of chatter about ojdeploy. My concern about ojdeploy is that dependent files are also being compiled at the same time. I expected that we want shared dependent files compiled only once (Is that a valid concern)?
    So then when we build the source out of subversion (ojdeploy ? Ant? ) then what is best practice to deploy to a weblogic server (wslt admin console) - again we want it to be automated.
    Thank you in advance for replies.
    RK

    Rule 1: Never use the "Automatically Expose UI Componentes in a New Managed Bean" option, create your bindings manually;
    Rule 2: Rule 1 is always right;
    Rule 3: In doubts, refer to rule 2.
    You may also want to check out :
    http://groups.google.com/group/adf-methodology
    And :
    http://www.oracle.com/technology/products/jdev/collateral/4gl/papers/Introduction_Best_Practices.pdf

  • What is the best practice for this?

    Hi,
    I have a huge package, let's say including 100 procedures.
    These procedures(with package name qualifier) are called all around the application. Now i want to divide it to 5 packages each one including 20 procedures.
    What is the best practice to do this with minimum changes in the application?

    First step before doing anything with OD is to make certain that local DNS services are correct.  To verify that, launch Terminal.app from Applications > Utilities on the test server, and issue the following harmless, diagnostic command:
    sudo changeip -checkhostname
    You'll need to enter your administrative password for the sudo to be accepted. 
    If the output from that command reports no changes are required, then an export from the original OD and an import into the test system would be typical for testing, if you trust what's in the original OD.

  • Best practices for a large application

    I have an existing application that is written in character
    based Oracle Developer and has many forms and reports. A few years
    ago I converted an inquiry portion of the system to standard ASP,
    this portion has about 25 pages. Initially I want to rewrite the
    Inquiry portion in Flex (partly to teach myself flex), but
    eventually (soon) I will need to convert the remainder of the
    application, so I want a flexible and robust framework from the
    beginning.
    So far for fun I wrote a simple query and I like what I have
    done but I realized that trying to write the entire application in
    a single script with hundreds of states would be impossible. The
    application is a fairly traditional type app with a login script, a
    horizontal menu bar and panels that allow data entry, queries and
    reports. In Oracle and ASP each "panel" is a seperate program and
    is loaded as needed. I see advantages in this approach, and would
    like to continue it (creating as much reusable stuff as possible).
    So where can I find documentation, and or examples on the
    best practice in laying out a framework for what will eventually be
    a sizeable app?
    BTW, what about the ever present problem of writing reports?
    Paul

    As a matter of fact, modules are exactly what you're looking
    for! :)
    Flex's doc team has a good intro document here:
    http://blogs.adobe.com/flexdoc/2007/01/modules_documentation_update.html
    And this gentleman has a quick example in his blog:
    http://blog.flexexamples.com/2007/08/06/building-a-simple-flex-module/
    The app I'm working on now is primarily based on modules, and
    they're a good way to keep things organized and keep loading times
    low. Documentation on them has been so-so, but its getting better.
    There are little undocumented gotchas that you'll undoubtedly run
    into as you develop, but they've been covered here and in the
    flexcoders Yahoo group time and again, so you'll readily be able to
    find help.
    When creating a module, you can either place them in the
    project that they'll eventually be used with, or create a stand
    alone project just for that module (the preferred and more
    organized method.) Creating a stand-alone module project is easy:
    just change the "mx:Application" tag in your main mxml file to a
    "mx:Module" tag instead.
    If you're using Cairngorm as your app's framework, you'll
    have to tinker with things a bit to get it all working smoothly,
    but its not that hard, and I believe the doc team is working on a
    definitive method for using modules in Cairngorm based apps.
    Hope this helps!

  • Any Best Practices for developing custom ABAP reports for Portal?

    Hello,
    The developers on our project are debating the best way to develop custom reports and make them available on the portal.  Of these options that we can think of, can you give any pros & cons, or experiences, or other options?
    - Web-enabled Abap report programs
    - WebDynpro for Abap
    - WebDynpro for Abap using ALV
    - Adobe forms
    Does a "Best Practices" document or blog exist on this topic?
    Thanks,
    Colleen

    Re: Using p_trace=YES

  • Best practices for an oracle application upgrade

    Hello,
    We have an enterprise application deployed on Oracle Weblogic and connecting to an Oracle database (11g).
    The archive is versioned and we are using Weblogic's feature to upgrade to new versions and retire old versions.
    In a case of emergency when we need to rollback an upgrade, the job is really easy on Weblogic but not the same on Oracle DB.
    For most of our releases, the release package is an ear plus some database scripts.
    Releases are deployed with minimum downtime, so while we are releasing our clients are still writing to the DB.
    In case of a rollback is needed, we need to make sure the changes we made to the DB structure (Views, SP, Tables...) are reverted but data inserted by clients stayed intact.
    Correct me if I am wrong, but Flashback and RMAN TSPITR are not the good options here.
    What other people usually do in similar cases? What are best practices and deployment plans for our case?
    Guides and direction are welcomed.
    Thanks!

    Hi Magnus
    I guess you have to install again to ensure no problems. BP installation also involves ensuring correct SP levels (cannot be higher) for all software components.
    Best regards
    Ramki

  • PKGBUILD best practice for autotools and missing required files

    I am trying to update one of my packages in the AUR.  Upstream using GNU automake/autoconf tools and has worked just fine for previous versions.  This time around, the download from upstream is missing several of the mandatory files required by autoconf.  I am trying to figure out the best way to deal with this.
    1.  I can add just create them, and distribute them with the Tarbell, and push them into src directory prior to invoking autoconf.
    or
    2. I can use the --add-missing flag, but that requires the running of autoconf multiple times (unless I am confused) 
    What is the best practice when files such as NEWS and README are missing?

    I highly recommend you review Brad Hedlund's videos regarding UCS networking here:
    http://bradhedlund.com/2010/06/22/cisco-ucs-networking-best-practices/
    You may want to focus on Part 10 in particular, as this talks about running UCS in end-host mode without vPC or VSS.
    Regards,
    Matt

  • Best Practice for Networking in UCS required

    Hi
    We are planning to deploy UCS n our environment. The Fabric Interconnects A and B will need to connect to pair of Catalyst 4900 M switch. Whats is the best practice to connect? How should the 4900 switch be configured? Can I do port channel in UCS?
    Appreciate your help.
    Regards
    Kumar

    I highly recommend you review Brad Hedlund's videos regarding UCS networking here:
    http://bradhedlund.com/2010/06/22/cisco-ucs-networking-best-practices/
    You may want to focus on Part 10 in particular, as this talks about running UCS in end-host mode without vPC or VSS.
    Regards,
    Matt

  • Best practice for handling custom apps tracks with regards to EP upgrade?

    Hi,
    We've are currently in the progress of upgrading from EP 6 to EP 7.0, and in that context we need to "move" our tracks containg development of custom J2EE components.
    What we've done so far is :
    1.Create a new version 7.00 of each software component we have developed with correct EP 7 dependencies
    2. Create a new version 7.00 of our product in the SLD: Bouvet_EP
    3. Attached the new versions of the SCs to the new product version
    4. Create a new track with the SC of version 7.00 along with relevant dependencies
    My question now is how do we get the EP 6 component source code into the new track, so that we can change dependecies of the DCs and build it again for EP 7.0?
    Should we somehow export the code from the old track, check in and transport ? (how do we then export the code from the track)
    Regards
    Dagfinn

    Hi Dagfinn,
    This is a really interesting thread. I have not encountered this scenario till now. However i can only guess.
    1. Copy the latest sca files generated for all the SC's in your track from one of the subdirectories of JTrans and place those sca files in the inbox directory of target CMS. Check if these sca are available in the Check-in tab. I think this will not work because the SC verion you have defined in SLD for WAS 7.0 is different than the one in SLD for WAS 6.40.
    2. Second and crude method may be you create a SC in the source SLD similar to ones created in target SLD. Create a track for these SC's in the source system. Then create a track connection between the newly created track and existing tracks. Forward all the sources to the target track. Then assemble this SC and copy the sca file and repeat the process above.
    I dont know. Possibly this may click. Notes 877029 & 790922 also give some hints on migration of JDI server.
    Please do keep this thread updated with your progress.
    Regards
    Sidharth

  • Best practice for this project?

    Hello,
    Total n00b here, so please bare with me!
    I'm working on one of my first AE projects getting my feet wet as well as following along with some books and Lynda.com training vids, but I thought I'd post here as well.
    The project I'm working on is nothing more than a glorified slideshow. Basically, it consists of a 30 different still images (each image is different). For each still, there is a basic title sequence (fades in/out), then the still fades in, there's a pan/zoom, then fades out, then on to the next one. Total time per still is 30-40 seconds. Finally, there will be a single audio track playing over the full piece. Like I said, pretty simple.
    What I'm wondering is, what's the best way to set this up. Should each still's sequence be it's own composition and then nest each composition within a master composition, should this all be done in a single composition, etc.?
    Basically, I'm curious as to how to best deal with having this all reviewed, having to make changes, etc. For example, once I put the initial piece together, I'll render out a version for review. If I have to make a change to one of the sequences, is there a way to deal with this so I don't have to spend the time rendering the entire job out again, just for a short 1 second change to 1 sequence within the entire job? What's the best way to deal with this?
    I'd love to hear what suggestions people may have!?
    Thanks!
    Kristin.

    My personal approach would be just one comp, one text layer, and one black solid layer under the text and on top of the images to control the fading (I got the impression you want to go blank, rather than transition directly from one image to another).
    Create a new solid, set it to your BG color, and make it "comp size".
    Use the text tool and type your first title.
    Select them both and use the align window to center your text horz and vert (actually your centering it to the solid, which happens to be the size of your comp)
    Set up opacity fades on your title, and BG solid to reveal the 1st image, and set it up to pan and scan, then fade the BG solid back up.
    Now go to where you want to fade up the next title, and open the text properties until you see Source Text, and enable keyframing.
    Drag the new created square "hold" keyframe to the begining of time, then select all the text and change it to your 2nd title.
    Then copy and paste your fade keyframes, tweak as needed, and repeat...
    I prefer this approach as it keeps everything in one comp where you can see it (handy for syncing to your music layer), and you dont have a bunch of duplicate title layers that are essentially the same thing.
    As for needing to change just a small part of it, depends on your finally delivery format. If you are giving them one long file, and just need to change a small part in the middle, make the change, then import your last rendered animation (best way to import is to drag the file from an OS browser window to the AE project window).
    Bring the old anim into your comp as the top layer, so AE doesnt have think much about constructing each frame, then go to the beginning of the part you have changed, and with this cover layer selected "ctrl shift D" to split the layer. Then move to the end of your fixed portion and with the 2nd half of you cover layer selected, "alt [" which will jump the beginning of the cover to there, so AE only has to deeply contemplate the frames that you have changed. Although with this project it shouldnt take long to render any how.
    Well, thats my two cents, or more like a buck thirty five.

  • Best practice for application help for a custom screen?

    Hi,
    The system is Netweaver 7.0 SP 15 with e-recruiting .
    We have some custom SAP GUI transactions and have written Word documents with screen prints and explanations. I would like to make the procedure document accessible from the custom transaction or at least provide custom help text that includes a link to the full documents.
    Can anyone help me out with options and best practices for providing customized application help for custom SAP GUI transactions?
    Thanks,
    Margaret

    Hello Margaret,
    sorry I though you might be still in a design or proof of concept phase where the decision for the technology is still adjustable.
    If the implementation is already done things change of course. The standard in-system documentation is surely not fitting your needs as including screenshots won't work well.
    I would solve the task the following way:
    I'd make a web or pdf document out of the word document and put it on a web ressource - as you run e-recruiting you have probably the possibility for that.
    I would then just put a button into the transaction an open a web container to show the document.
    I am not sure if this solution really qualifies as "best practise" but SAP does the same if you call the Help for application in the help menue. This is implemented in function module SAPGUIHC_OPEN_HELP_CENTER. I'd just copy it, throw out what I do not need and hard code the url to call.
    Perhaps someone could offer a better solution but I think this works a t least without exxagerated costs.
    Kind Regards
    Roman

  • Best practice for keeping a mail session open in web application?

    Hello,
    We have a webmail like application where users login with their IMAP credentials, then are taken to an authenticated area of the site where they can manage different things about their email account.
    Right now the application is opening and closing a mail store connection (via a new javax.mail.Session) for each page load based on the current logged in user credentials. To me this seems like it would be a bad practice to keep opening and closing a connection each page load.
    Are there any best practices for this situation? It would be nice to be able to open the connection to the mail server on login, then keep that connection open until the person logs out, session expires, etc.
    I can probably put the javax.mail.Session into the HTTP session, but that seems like it would break any clustering functionality of tomcat. This would be fine if the machine the user is on didn't fail, but id assume if they failed over to another the mail session would be gone. Maybe keeping the mail session in the http session, checking for a connection, then first attempting to reconnect with the logged in credentials before giving up would be a possiblity?
    Any pointers would be appreciated

    If you keep the connection open across pages, you're going to need to deal with
    timeouts - from the http session and from the mail server.
    If you don't keep the connection open, you're going to need to "resynchronize"
    your view of the store/folder with each operation, in case the folder is modified
    by another session.
    The former is easier in the common cases, especially if you don't care how gracefully
    you handle failures. The latter is more difficult in the common cases, but handles
    failure better, and in particular handles clustering better. You'll need to measure it to
    see if it meets your performance and scalability requirements. You may need to mix
    the two approaches to get acceptable performance.

  • Best practice for distributing/releasing J2EE applications.

    Hi All,
    We are developing a J2EE application and would like some information on the best
    practices to be followed for distributing/releasing J2EE applications, in general.
    In particular, the dilemma we have is centered around the generation of stub, skeleton
    and additional classes for the application.
    Most App. Servers can generate the required classes while deploying the EJBs in the
    application i.e. at install time. While some ( BEA Weblogic and IBM Websphere are
    two that we are aware of ) allow these classes to be generated before the installation
    time and the .ear file containing the additional classes is the one that is uploaded.
    For instance, say we have assembled the application "myapp.ear" . There are two ways
    in which the classes can be generated. The first is using 'ejbc' ( assume we are
    using BEA Weblogic ), which generates the stub, skeleton and additional classes for
    the application and returns the file, say, "Deployable_myapp.ear" containing all
    the necessary classes and files. This file is the one that is then installed. The
    other option is to install the file "myapp.ear" and let the Weblogic App. server
    itself, generate the required classes at the installation time.
    If the first way, of 'pre-generating' the stubs is followed, does it require us to
    separately generate the stubs for each versions of the App. Server that we support
    ? i.e. if we generate a deployable file having the required classes using the 'ejbc'
    of Weblogic Ver5.1, can the same file be installed on Weblogic Ver6.1 or do we
    have to generate a separate file?
    If the second method, of 'install-time-generation' of stubs is used, what is the
    nature/magnitude of the risk that we are taking in terms of the failure of the installation
    Any links to useful resources as well as comments/suggestions will be appreciated.
    TIA
    Regards,
    Aasif

    Its much easier to distribute schema/data from an older version to a newer one than the other way around. Nearly all SQL Server deployment features supports database version upgrade, and these include the "Copy Database" wizard, BACKUP/RESTORE,
    detach/attach, script generation, Microsoft Sync framework, and a few others.
    EVEN if you just want to distribute schemas, you may want to distribute the entire database, and then truncate the tables to purge data.
    Backing up and restoring your database is by far the most RELIABLE method of distributing it, but it may not be pratical in some cases because you'll need to generate a new backup every time a schema change occurs, but not if you already have an automated
    backup/maintenance routine in your environment.
    As an alternative, you can Copy Database functionality in SSMS, although it may present itself unstable in some situations, specially if you are distributing across multiple subnets and/or domains. It will also require you to purge data if/when applicable.
    Another option is to detach your database, copy its files, and then attach them in both the source and destination instances. It will generate downtime for your detached databases, so there are better methods for distribution available.
    And then there is the previously mentioned method of generating scripts for schema, and then using an INSERT statement or the import data wizard available in SSMS (which is very practical and implements a SSIS package internally that can be saved for repeated
    executions). Works fine, not as practical as the other options, but is the best way for distributing databases when their version is being downgraded.
    With all this said, there is no "best practice" for this. There are multiple features, each offering their own advantages and downfalls which allow them to align to different business requirements.

Maybe you are looking for

  • How to use the iTrip with dock connector for iPod 5th gen. video

    I bought the new iTrip with dock connector for my iPod video 5th gen. and I followed exactly the instructions but I cannot hear any music on the radio. Has anyone experienced the same problem or the contrary has anyone managed to make it work. Thanks

  • [Gnome] freeze work spaces view in combination with beamer presentatio

    Hello guys, I often have to hold speeches using a presentation for my own support. What I'm still missing is a possibility to freeze the display. Means my presentation is on work space 1 and when I then switch to space 2 the audience should still see

  • Trap on a link failure

    does someone know how to enable a snmp trap if an interface link goes down? There are 4 bge interfaces, the IP of the SNMP Manager configured. In the /var/adm/messages can be seen that a link goes down, but no snmp traps/notifications are being sent.

  • De l'aide svp

    bonjour tout le monde svp j'ai besoin de savoir comment on peut faire usage de la Ni USB-6259 et comment manipuler les interfaces via C++ parce que meme si mon code (sur visual studio) se compile correctement j ignore la commande qu il faut mettre po

  • Unable to open Adobe reader

    I have for months attempted to uninstall and reinstall Adobe Reader as it suddenly stopped working.  The only thing I consistently receive is that Adobe Reader has stopped working correctly and Windows will close the program and notify if a solution