Best practices for development / production environments

Our current scenario:
We have one production database server containing the APEX development install, plus all production data.
We have one development server that is cloned nightly (via RMAN duplicate) from production. It therefore also contains a full APEX development environment, and all our production data, albeit 1 day old.
Our desired scenario:
We want to convert the production database to a runtime only environment.
We want to be able to develop in the test environment, but since this is an RMAN duplicated database, every night the runtime APEX will overlay it, and the production versions of the apps will overlay. However, we still want to have up to date data against which to develop.
Questions: What is best practice for this sort of thing? We've considered a couple options:
1.) Find a way to clone the database (RMAN or something else), that will leave the existing APEX environment intact? If such is doable, we can modify our nightly refresh procedure to refresh the data, but not APEX.
2.) Move apex (in both prod and dev environments) to a separate database containing only APEX, and use DBLINKS to point to the data in both cases. The nightly refresh would only refresh the data and the APEX database would be unaffected. This would require rewriting all apps to use DBLINKS though, as well as requiring a change to the code when moving to production (i.e. modify the DBLINK to the production value)
3.) Require the developers to export their apps when done for the day, and reimport the following morning. This would leave the RMAN duplication process unchanged, and would add a manual step which the developers loath.
We basically have two mutually exclusive requirements - refresh the database nightly for the sake of fresh data, but don't refresh the database ever for the sake of the APEX environment.
Again, any suggestions on best practices would be helpful.
Thanks,
Bill Johnson

Bill,
To clarify, you do have the ability to export/import, happily, at the application level. The issue is that if you have an application that consist of more than a couple of pages, you will find yourself in a situation where changes to page 3 are tested and ready but, changes to pages 2, 5 and 6 are still in various stages of development. You will need to get the change for page 5 in to resolve a critical production issue. How do you do this without sending pages 2, 5 and 6 in their current state if you have to move the application all at once??? The issue is that you absolutely are going to need to version control at the page level, not at the application level.
Moreover, the only supported way of exporting items is via the GUI. While practically everyone doing serious APEX development has gone on to either PL/SQL or Utility hacks, Oracle still will not release a supported method for doing this. I have no idea why this would be...maybe one of the developers would care to comment on the matter. Obviously, if you want to automate, you will have to accept this caveat.
As to which version of the backend source control tool you use, the short answer is that it really doesn't matter. As far as the VC system is concerned, you APEX exports are simply files. Some versioning systems allow promotion of code through various SDLC stages. I am not sure about GIT in particular but, if it doesn't support this directly, you could always mimic the behavior with multiple repositories. Taht is, create a development repository into which you automatically update via exports every night. Whenever particular changes are promoted to production, you can at that time export form the development repository and into the production. You could, of course, create as many of these "stops" as necessary to mirror your shop's SDLC stages, e.g. dev, qa, intergation, staging, production etc.
-Joe
Edited by: Joe Upshaw on Feb 5, 2013 10:31 AM

Similar Messages

  • Best practice for migrating between environments and versions?

    Hi to all,
    we've got a full suite of solutions custom developed in SAP BPC 7.0, SP 7. We'd like to understand if
    - there are best practice in order to copy this applications from an environment to another environment (another client)
    - there are best practice in case the client has got a newer version of SAP BPC (they should install the 7.5, while we're still stucked with the 7.0).
    Thank you very much
    Daniele

    Hi Daniele
    I am not entirely sure, what you are asking, Please could you provide additional information.
    Are you looking for best practice recommendations for Governance, for example: Change transports between DEV, QA and PRD in BPC 7.0?
    What is the best method? Server Manager backup and restore, etc  ?
    And
    Best Practice recommendations on how to upgrade to a different version of BPC, for example: Upgrading from BPC 7.0 to 7.5 or 10.0 ?
    Kind Regards
    Daniel

  • Best practice for development using REST API - OData

    Hi All, I am new to REST. I am a developer who works mostly in server-side code using Visual Studio. Now that Microsoft is advocating to write code using REST API instead of server-side code or client side object model, I am trying to use REST API.
    I googled and most of the example shows to write a code and put it on Content Editor/Script Editor. How to organize code and deploy to the staging/production in this scenario? Is there any Best Practice or example around this?
    Regards,
    Khushi

    If you are writing code in aspx or cs it does not mean that you need to deploy it in the SharePoint server, it could be any other application running from your remote server. What I mean it you can use C# & Rest API to connect to SharePoint server.
    REST API in SharePoint 2013 provides the developers with a simple standardized method of retrieving information from SharePoint and it can be used from any technology that is capable of sending standard HTTP requests.
    Refer to the following blog that provide your more details about comparison of the major features of these programming choices/
    http://msdn.microsoft.com/en-us/library/jj164060.aspx#RESTODataA
    http://dlr2008.wordpress.com/2013/10/31/sharepoint-2013-rest-api-the-c-connection-part-1-using-system-net-http-httpclient/
    Hope this helps
    --Cheers

  • Best practice for developing with CRM 2013 (On Premises)

    Hello all.  I'm just starting to work with CRM, and I have some questions that hopefully will be simple for the seasoned developers.  It's mostly just some best practice or general how-to questions for the group.
    - When creating a new Visual Studio CRM Project I can connect to my CRM Instance and create new WebResources which deploy to the CRM instance just fine, but how can I pull all the existing items that are in the CRM Solution into the Visual Studio CRM project?
     Or do I need to export the solution to a ZIP, expand it with SolutionPackager.exe, then copy these into my Visual Studio project to get it into sync?
    - When multiple developers are working on changes is it best to keep everything in a Visual Studio project as I mentioned above, or is it better for everyone to have their own instance of CRM to code with so they can Export/Import solutions as needed then
    these solutions be manually merged before moving into a common Test/QA environment?
    - When modifying the submenu on a CRM form is it suggested to use Ribbon Workbench or is it better/easier to just export the solution, expand it with SolutionPackager.exe,  modify ribbondiff and anything else required for the change, package it
    back up, then reimport to CRM?  I've heard from some that Ribbon Workbench has some limitations, but being green I wasn't sure what those limitations might be or if it'd be best to just manually make these changes.  Or is thre any way to have a copy
    of ribbondiff in Visual Studio and deploy this without having to repackage the Solution and Import in the ZIP?
    I think that's it for now :)  Thanks for any advise or suggestions.  I really want to start learning the in's and out's of CRM and how all the pieces fit together.  Also can someone direct me to some documentation or books that might give
    more insight on developing for CRM 2013 or 2015 (moving to this soon)?
    Thanks for your time.

    Hi Sam
    Also interested in best practice around this area - especially recommended development routes, unit testing, continuous integration etc - it would be great if you posted here if you find any good articles etc. At the moment we tend to just push changes
    onto a live system as and when appropriate and I'd prefer to move away from that...
    Thanks
    Stuart

  • Best Practices for APO Production Support

    What are the best practices needs to be adopt for APO Production Support? in DP, SNP, PP/DS, CIF, APO-basis, APO -ABAP area?

    I know this is not the standard way to reach you, but you answered a question long back about /SAPAPO/AMON1 - Alert Monitor.  Can this alert monitor be configured to show up in the universal worklist (UWL) in the portal?  if so would these alerts show up in the alert inbox of the uwl just as other sap alerts do? (the other alerts i speak of are those referenced here (http://help.sap.com/saphelp_nw04s/helpdata/en/3f/81023cfa699508e10000000a11402f/frameset.htm).
    Or are these alerts two totally different types of functionality with the same name (ARERT) ?
    Thanks
    Ted Smith

  • 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

  • What is the best practice for developing web service?

    Hi All,
    I'm a newbee to web services...
    I was wondering what would be the best approach in developing a web service,
    using tools or programmatic approach?
    If I use WebLogic Workshop, am I tied to a vendor?
    Is it possible for me to develop web services using workshop and deploy in
    another app server..?
    I would appreciate if somebody could give me a pointer to start.
    I have already referred BEA's docs.
    I'm still confused on a good starting point on the best approach to develop
    protable web services.
    Thanks in advance for any inputs.
    K K

    K K-
    You have a very valid point on the simplify or complicate matters. If you are
    going for clean and not-so-time-centric code, then there are several different
    programs and packages out there you can choose from.
    Since you are specialized in J2EE, than the Sun package may be what you are looking
    for. BEA's classes simplify much of the work you will be doing, but you could
    emulate their classes or extend yours above the functions provided in theirs.
    It all boils down to how much work are you willing to do.
    If you are asking for more detailed, coding 'Design Patterns' to utilize, I would
    wait for a few more posts from other folks as my work often requires me to utilize
    the tools provided.
    Sincerely,
    Eric Ballou
    "K K" <[email protected]> wrote:
    Eric,
    Thanks for the response.
    I was also looking at Sun's WSDP 1.1, which is more programmatic approach.
    Some how, I feel being a J2EE developer, I should go on the direction
    of the
    programmatic approach.
    Using the tools could simplify or complicate things. Also, the Workshop
    samples import all weblogic specific packages.
    My code looks so dirty with many vendor specific packages being imported.
    Could you give me your suggestions for a clean and neat approach?
    I would personally prefer to avoid the quick and dirty approach.
    Thanks again.
    "Eric Ballou" <[email protected]> wrote in message
    news:[email protected]...
    K K-
    The best approach in developing portable web services is knowing whatyou
    are
    planning on using them for as well as how much is willing to be spent,etc.
    BEA's Workshop is portable to other frameworks, but the ease ofintegrating a
    developed client or a developed server can very greatly. Even moreof an
    issue
    is migration from one framework to another. If you choose to developin
    Workshop
    and your company later deploys .Net solutions, some of your work mayhave
    to be
    redone unless the company is willing to keep portions of the 'old'system
    around
    until new versions of the service are available. However, Workshophas
    several
    ant tools available that would assist you in deploying to other appservers or
    even a stand-alone application should you need cross framework abilities.
    If you are just starting out in web services, http://www.webservices.org
    is a
    good place to start checking out vendors in the space.
    Sincerely,
    Eric Ballou
    "K K" <[email protected]> wrote:
    Hi All,
    I'm a newbee to web services...
    I was wondering what would be the best approach in developing a web
    service,
    using tools or programmatic approach?
    If I use WebLogic Workshop, am I tied to a vendor?
    Is it possible for me to develop web services using workshop and deploy
    in
    another app server..?
    I would appreciate if somebody could give me a pointer to start.
    I have already referred BEA's docs.
    I'm still confused on a good starting point on the best approach todevelop
    protable web services.
    Thanks in advance for any inputs.
    K K

  • Best Practice for Developer update access to database in Production

    I am curious to find out what other organizations are doing as to developer access to sysadm in production. Such as using a database account created like sysadm that can be checked out for use and locked when not in use? or ?

    Developer can be provided with Read only access to SYSADM schema.
    Thanks
    Soundappan
    Edited by: Soundappan on Dec 26, 2011 12:00 PM

  • Best practice for developing multi language Website

    Hi all
    I want to develop my website in multiple languages and I know that I can put all the msg string in the resource bundle or in the database, however, I think this makes the interface of the web becomes very difficult to develop because I can't see anything in the HTML editor. Another solution is to use XSL that I believe HTML editors is able to display the tagname or some description of the XSL tag but I am not sure about that because I haven't used it before.
    Have any expert web developers find a better solution or do you guys think XSL is the best solutions? Any suggestions are very welcome. Thank You!
    From
    Edmond

    being not familiar with xsl, I say go for resources. If you define your own tag to display text, it isnt that hard to understand, e.g.
    <translate id="hello.world"/>. That at least is how I make multi language website.

  • Best practice for developing and testing AIR iOS multitouch apps

    I'm considering switching our iPhone development practice from XCode/Objective C to AIR to leverage a larger pool of in house talent. The biggest concern I have right now is testing multitouch functionality - the prospect of having to do incremental builds, provisioning and deployment just to test and tweak the multitouch aspects of our projects is daunting, if not downright depressing.
    What tools / services or techniques have been developed to facilitate what is undoubtedly one of the most common issues with developing for multitouch iOS using a desktop-based AIR development environment?

    @tomaugerdotcom
    Something like this might help: https://testflightapp.com/
    Concevably, you could roll your own internal service if that particular one doesn't suit you. (I don't have any knowledge about how they are doing it, but it shouldn't be hard to figure out since Apple's constraining rules would only allow a few possibilities.)
    USB app install and debugging isn't supported on iOS. You have to use wireless.
    Another option specifically for multi-touch dev/testing, is to use an Android device.

  • Best practices for Test - Production promotions

    Good Day to all
    Environment:
    OWB Client: 10.1.0.2.0 on Windows XP Professional
    OWB Server Side: 10.1.0.2.0 on UNIX (AIX 5.2)
    Repository: Oracle 9.2.0.4 on UNIX (AIX 5.2)
    Runtime Schema: Oracle 9.2.0.4 on UNIX (AIX 5.2)
    I am trying to put together an idiot-proof process to have our Infrastructure Team (Operators) facilitate the promotion of OWB objects from our Test environment to our Production environment.
    The Production environment is a separate OWB Repository and separate target schema.
    Thanks to SOX we can't have one person be able to update both environments.
    I am thinking of using UNIX scripts to run MDL Exports and MDL Imports and OMBPLUS to do the deployments.
    Has anyone implemented such a process?
    My other thought was to use the 'Deploy to File' method and OMBPLUS to do the actual deployment.
    Any pros and cons to either method?
    Any and all opinions are most welcomed.
    Many thanks.
    Gary

    Upon further research it appears I'll need a combination of exp/imp and OMBPlus to do what I need. Please correct any of the below assumptions:
    1 - I need to use exp/imp to get the object definitions from the Test repository to Production repository.
    2 - I need to do a 'Deploy to File' through the OWB Client on the Test repository objects to generate the deployment files.
    3 - I then need to use OMBPlus to deploy the objects on the Production side.
    Questions:
    1 - Is there a way to get the 'Deploy to File' output in a command line environment so it can be scripted in UNIX?
    2 - Is there a way to set up a 'Deploy Only' type user so the Operators can ONLY deploy objects and NOT change anything?
    Thanks very much for the help. I'm very interested in how other companies are handling the separation of duties with SOX and these moves from Test to Production.
    Till then...
    Gary

  • Best practice for adding products in multiple languages

    We have multiple products with the same product number and product name - but have different descriptions (translations).
    Our BigMachines quotation system allows us to have several language layers for the same product. But it seems like this is not possible in CRMOD?
    I guess the work around would be to have x amount of fields containing the description in different languages in CRMOD.
    Just wanted to confirm this before moving on down that road..
    Regards,
    Allan

    Thank's Bobb. That was unfortunately the answer I expected.
    I can't really wait for the enhancement, so I thought of the following work around:
    - Rename the product name field to product number
    - Create x amout of new product name and product description fields (for each language)
    Do you see any pitfalls here?
    Regards,
    Allan

  • Best practice for Development - any advice?

    We are fairly new to WebLogic/Java development. We are using 6.1. We are coding
    an application, which uses EJBs, JSPs, etc following the M-V-C
    model. We have about 10 developers working on various bits of
    the system. Some have WebLogic/Visual Cafe installed on PCs and
    can work happily without affecting anyone else. Others who do
    not (yet) have powerful-enough PCs to run all this are trying
    to develop and deploy their code on the unix box (HP_UX).
    To enable each developer to work independantly, we have set up
    a new domain for each developer. The idea for this is so that
    each developer can re-deploy his .ear file in his own domain
    without affecting others. We seem to be having lots of problems
    with the consoles seeming to get confused and blowing up with
    memory errors and all sorts of nasty things.
    Is anyone else using a similar way of working?
    Is what we are doing stupid?
    Is there a better way of achieving the separation of developers?
    Any advice/thoughts would be gratefully received.

    We have several developers - each has their own development domain on the
    same server, but we're not experiencing console problems as you described.
    Are you sure they have their own domain instance of WLS?
    This development environment works very well for us. Like you indicated,
    each developer can deploy/redeploy without affecting others.
    Hope this helps...
    Rob
    "Paul Evans" <[email protected]> wrote in message
    news:3be191fd$[email protected]..
    >
    We are fairly new to WebLogic/Java development. We are using 6.1. We arecoding
    an application, which uses EJBs, JSPs, etc following the M-V-C
    model. We have about 10 developers working on various bits of
    the system. Some have WebLogic/Visual Cafe installed on PCs and
    can work happily without affecting anyone else. Others who do
    not (yet) have powerful-enough PCs to run all this are trying
    to develop and deploy their code on the unix box (HP_UX).
    To enable each developer to work independantly, we have set up
    a new domain for each developer. The idea for this is so that
    each developer can re-deploy his .ear file in his own domain
    without affecting others. We seem to be having lots of problems
    with the consoles seeming to get confused and blowing up with
    memory errors and all sorts of nasty things.
    Is anyone else using a similar way of working?
    Is what we are doing stupid?
    Is there a better way of achieving the separation of developers?
    Any advice/thoughts would be gratefully received.

  • Best Practice for Production environment

    Hello everyone,
    can someone share the best practice for a production environment? or is there a SAP standard best practice to follow in a Production landscape?
    i understand there are Best practices available for Implementation , Migration and upgrade. But, i was unable to find one for productive landscape
    thanks.

    Hi Siva,
    What best practise are you looking for ? If you can be specific on your question we could provide appropriate response.
    From my basis experience some of the best practices.
    1) Productive landscape should have high availability to business. For this you may setup DR or HA or both.
    2) It should have backup configured for which restore has been already tested
    3) It should have all the monitoring setup viz application, OS and DB
    4) Productive client should not be modifiable
    5) Users in Production landscape should have appropriate authorization based on SOD. There should not be any SOD conflicts
    6) Transport to Production should be highly controlled. Any transport to Production should be moved only with appropriate Change Board approvals.
    7) Relevant Database and OS security parameters should be tested before golive and enabled
    8) Pre-Golive , Post Golive should have been performed on Production system
    9) EWA should be configured atleast for Production system
    10) Production system availability using DR should have been tested
    Hope this helps.
    Regards,
    Deepak Kori

  • Best Practices for Workshop IDE (Development Workstation Setup)

    Is there any Oracle documentation that describes best practices for setting up Workshop and developing on a workstation that includes Oracle's ODSI, OSB, Portal, and WLI? We are using all these products on a weblogic server for each developer's machine and experiencing performance and reliability issues. What's the optimal way to use these products on a developer's workstation. Thanks.

    Hi,
    Currently you dont see such best practice site with in workshop.
    but you can verify most issues from doc.
    http://docs.oracle.com/cd/E13224_01/wlw/docs103/
    if you need any further assistance let me know.
    Regards,
    Kal

Maybe you are looking for

  • How can I keep my signature on the left side when using rtl on mail application

    I'm writing in Hebrew & English on apple Mail application on OS X /mountain Lion. When I'm starting to write a mail in HEBREW it's automatically move the signature to the right side which I don't like it because my signature is in English (My Hebrew

  • How to Convert internal table data into text output and send mail in ABAP

    Hi All, Good Morning. Taking a glance at a code that converts internal table data to an Excel file in ABAP. also checked how to send this excel to mailing list as attachment. But thought of doing it without excel. I mean, I have an internal table whi

  • Dashboard scales for Incoming and Outgoing

    Is it possible to make scales for Incoming and Outgoing messages the same? Now it looks unnatural. See the picture: outgoing messages seems less than incoming (which is, of course, is not the case).  Understood, there are several metrics on one graph

  • How to get an early upgrade on a phone?

    Hello Verizon community. I have an iPhone 4S right now and for some reason my upgrade is on 9/28/12. I really want the iPhone 5 (4SS, whatever it will be called haha) which should be announced and the preorders should go out on the 12/13th. I know ve

  • Nokia 5610 firmware update....................

    im having a little problem with my nokia 5610 firmware update. The problem is that after updating my phone with version 8.30 the slide animation feature of my phone is not working. On slide open\close the picture set in the theme is supposed to appea