BPEL/WSDL Reference Best Practices ?

We have a BPEL project with several (30+) processes. The WSDL of one process is needed by another, which is typical for a BPEL project. Also, the processes need resources like supplementary XML files. Where can I read about how to construct the partnerLink references to these resources that will facilitate both local testing and production deployment. There must be a recommended methodology.
If I force every WSDL (or resource) to be accessed through a separate WEB service, than the WSDL created or modified in the BPEL process must be deployed to the WEB service before I test. Is that the only solution?
I do not see how I could use a file URL because there are multiple developers and the BPEL workspaces are probably in different top level folder paths. Though each of the processes are at the same level in the workspace. Any suggestions would be appreciated.

This link should have all that information.
http://www.oracle.com/technology/tech/soa/soa-suite-best-practices/soa_best_practices_1013x_drop1.pdf
You should see no to little performance hits creating multiple sub processes, if they are reusable then this is what the product is for and is encouraged. This is what SOA is all about. Whether this is best practice, I don't know this is just one persons point of view.
Remember Oracle products are scalable, therefore if you are willing to invest in the right solution the performance is not an issue.
When integrating to ESB don't use SOAP use the default jca adapter.
cheers
James

Similar Messages

  • Toplink Cache "back reference" best practice question.

    I have too many objects being stored in the Identity map. I'm using the default Soft/Weak map. The problem is every objects connects to every other objects. Since every objects can somehow be traced to each other all objects nothing is removed.
    Let's look at an example. I have two objects Projects and Tasks. A project has a collection of tasks and the task's have a "back reference" to the project. If just one task is in the "soft" section of the Identity map then all the other tasks, which are in the weak section, aren't eligible for garbage collection. The task has a simple OneToOne mapping to the project. I'm using a valueholder to hold the project. This particular instance doesn't use indirection, but there are many other objects that have a similar setup that do.
    These mappings are really convenient for reporting. For example through any task I can easily print the project's name. No query, joining, etc is necessary. This is critical to the app because we have a dynamic report builder where end users and print off anything they want. This flexibility though all of our mappings enables us to build a powerful report builder. Besides the report builder there are other modules that work in a similar fashion. Needless to say the application will build with the assumption that these "back references" exist. That said, I need to remove objects from the identity map.
    Is there a way to manually remove / invalidate the back references and have it repopulated on access? Similar to how indirection works?
    Is it possible to re-init an indirection value holder?
    Does anyone have any suggestions?
    I've looked at using an invalidation policy but that doesn't seem to remove anything. It still keeps the objects in memory. It just refreshes the object on access.

    Soft references should still garbage collect when memory is low, so you should still be ok memory wise, even with your cycles. If you want memory to be freed more aggressively, then use a Weak cache instead of Soft, or decrease your Soft cache size.
    There is no refresh() or revert() API on a ValueHolder, but if you refresh the source object, it will revert all of its relationships. Having a refresh() or revert() API of ValueHolder would be useful, so feel free to log an enhancement request on EclipseLink for that. You also may be able to cook something up using the mapping and readFromRowIntoObject(). Another option would be to just set the relationship to null and invalidate the object so it is refreshed when next accessed.
    James : http://www.eclipselink.org

  • BEST PRACTICE FOR AN EFFICIENT SEARCH FACILITY

    Good Morning,
    Whilst in Training, our Trainer said that the most efficiency from the Sharpoint Search would be to install the Search Facility on a separate server (hardware).
    Not sure how to have this process done.
    Your advice and recommendation would be greatly appreciated.
    thanks a mil.
    NRH

    Hi,
    You can
    create a dedicated search server that hosts all search components, query and index role, and crawl all on one physical server.
    Here are some article for your reference:
    Best practices for search in SharePoint Server 2010:
    http://technet.microsoft.com/en-us//library/cc850696(v=office.14).aspx
    Estimate performance and capacity requirements for SharePoint Server 2010 Search:
    http://technet.microsoft.com/en-us/library/gg750251(v=office.14).aspx
    Below is a similar post for your reference:
    http://social.technet.microsoft.com/Forums/en-US/be5fcccd-d4a3-449e-a945-542d6d917517/setting-up-dedicated-search-and-crawl-servers?forum=sharepointgeneralprevious
    Best regards
    Wendy Li
    TechNet Community Support

  • Best practice for how to access a set of wsdl and xsd files

    I've recently beeing poking around with the Oracle ESB, which requires a bunch of wsdl and xsd files from HOME/bpel/system/xmllib. What is the best practice for including these files in a BPEL project? It seems like a bad idea to copy all these files into every project that uses the ESB, especially if there are quite a few consumers of the bus. Is there a way I can reference this directory from the project so that the files can just stay in a common place for all the projects that use them?
    Bret

    Hi,
    I created a project (JDeveloper) with local xsd-files and tried to delete and recreate them in the structure pane with references to a version on the application server. After reopening the project I deployed it successfully to the bpel server. The process is working fine, but in the structure pane there is no information about any of the xsds anymore and the payload in the variables there is an exception (problem building schema).
    How does bpel know where to look for the xsd-files and how does the mapping still work?
    This cannot be the way to do it correctly. Do I have a chance to rework an existing project or do I have to rebuild it from scratch in order to have all the references right?
    Thanks for any clue.
    Bette

  • Info on best practices to add jar references in server.xml

    Hi
    I want to add some jar references (pcl.jar & struts.jar) in server.xml.
    Can someone let me know if this can be added to <shared-library name="global.tag.libraries" version="1.0" library-compatible="true"> ?
    What is the best practice to add such entries in server.xml?
    Thanks
    Badri

    If you want to use it in BPEL it should be placed in oracle.bpel.common
    cheers
    James

  • Best Practice for Securing Web Services in the BPEL Workflow

    What is the best practice for securing web services which are part of a larger service (a business process) and are defined through BPEL?
    They are all deployed on the same oracle application server.
    Defining agent for each?
    Gateway for all?
    BPEL security extension?
    The top level service that is defined as business process is secure itself through OWSM and username and passwords, but what is the best practice for security establishment for each low level services?
    Regards
    Farbod

    It doesnt matter whether the service is invoked as part of your larger process or not, if it is performing any business critical operation then it should be secured.
    The idea of SOA / designing services is to have the services available so that it can be orchestrated as part of any other business process.
    Today you may have secured your parent services and tomorrow you could come up with a new service which may use one of the existing lower level services.
    If all the services are in one Application server you can make the configuration/development environment lot easier by securing them using the Gateway.
    Typical probelm with any gateway architecture is that the service is available without any security enforcement when accessed directly.
    You can enforce rules at your network layer to allow access to the App server only from Gateway.
    When you have the liberty to use OWSM or any other WS-Security products, i would stay away from any extensions. Two things to consider
    The next BPEL developer in your project may not be aware of Security extensions
    Centralizing Security enforcement will make your development and security operations as loosely coupled and addresses scalability.
    Thanks
    Ram

  • Best practice for version control B2B, ESB and BPEL

    Hello,
    we are setting up a new system using B2B, ESB and BPEL. The development team is more experienced working with PL/SQL, Oracle Workflow and we are worried that Jdeveloper generates changes to the source files during development and that we might have problems with the version control.
    Is there any best practice for setting up version control for these systems? Do we need to take anything in particular into consideration when setting up the projects?
    We are using Serena Dimensions 9.1 for version control with the add-on in Jdeveloper.
    Thanks in advance!

    I believe JDeveloper has a plugin for Dimensions.
    I havent used it but to get it, go to tools (It may be help I don't have JDeveloper on this machine to confirm) check for updates.
    If you select the thrid party check box - next, you will see an entry for dimentions.
    Configure the connection and develop as you would any other project.
    cheers
    James

  • Best Practice for Implementing Exception Handling in BPEL

    Hi All,
    what is the best practice and the approach to follow Exception Handling in BPEL.
    1) Do we need to implement Exception Handling in BPEL as we do in Java, means
         method 3 throws error to method 2 (if any) and
         method 2 throws error to method 1 (if any) and
         finally method 1 throws error to the main Class.
    If we replicate the above scenario to BPEL
    In BPEL main Scope have Custom Fault, Catch ALL
         Each Invoke is surrounded by a Scope Activity with Remote Fault, Binding Fault & Custom Fault
    and follow the paradigm of Java, assuming we have Inner Scopes
         [ OR ]
    2) In BPEL main Scope have all exceptions defined like
         Remote Fault,
         Binding Fault,
         anyOther System Fault (selectionFailure / forcedTermination),
         Custom Fault (if required) and
         CatchALL
         and also
         each Invoke is surrounded by a Scopes Acitivity with Custom Fault (business fault) exception Handling
    I feel 1st one may not be a good practice, may be i am wrong...
    Any Suggestions from experts.
    Thanks in Advance
    anvv sharma

    Hi-
    In you can create different scope and use catch branch to catch binding, remote, custom faults, business faults etc. If an error happens in a scope it will not move to the next scope( eg: you have 3 scope, error occured in 2nd scope then it will not propogate to the 3rd scope. One thing to be noticed here is your transaction in the 1st scope doesnt gets commited when an error happens in 2d scope).
    You can have a catch all to catch error which are not being caught at catch level. So if any error happens which is not defined in catch block then then it will be caught in catch all branch.
    Edited by: 333333 on Apr 12, 2011 9:39 AM

  • Best practice to use contract(ME31K) in reference a PR

    Hi,
         I create a PR(me51n) with service (the commitment is on the PR), next I create a contract(me31k) in reference with the PR. In the contract I do some change, I subdivide the service in two lines. After with ME57 I assign the contract with the PR.
    When I want to create a PO (contract release ord), should I us the contract in reference or the PR. If I use the contract my commitment do not follow and if I use 50% for my PR the commitment is used at 100%.
    What is the best practice?
    Best regards

    Hi,
      If I use the entire PR it is true but if I use only 50% of it. The commitment of the PR disappears and the commitment of the PO is 50% of the PR. And I want to found a way to transfert only the % of the commiment used in the PO.
    Best regards

  • Best practice for identifying BPEL process boundary

    Hi
    Want to know if there is any best practices / guidelines available to identify how many BPEL processes are required.. I assume once we do a process decomposition we might arrive at an abstract business process boundary.
    However, I also think those processes can be further broken down while actually implementing them using BPEL PM?
    Is there any guidelines that I can use or follow to specify how many BPEL process to define
    Thanks
    Prashanth Rao

    Hi Kumar,
    In order to have Consigment in SAP u need to have master data such as material master, vendor master and purchase inforecord of consignment type. U have to enter the item category k when u enter PO. The goods receipt post in vendor consignment stock will be non valuated.
    1. The intial steps starts with raising purchase order for the consignment item
    2. The vendor recieves the purchase order.
    3. GR happens for the consignment material.
    4. Stocks are recieved and placed under consignment stock.
    5. When ever we issue to prodn or if we transfer post(using mov 411) from consignment to own stock then liability occurs.
    6. Finally comes the settlement using mrko. You settle the amount for the goods which was consumed during a specific period.
    regards
    Anand.C

  • Oracle BPEL standard, best practice and naming convention

    Hi, folks,
    Is there any standard or best practice associated with Oracle BPEL, regarding development, performace, what to avoid, etc? And is there any naming convention for the process, variable partner link name, etc? Similar to naming convention in writing Java code?
    Thanks
    John

    Hi,
    Here is the best practice guide:
    http://download.oracle.com/technology/tech/soa/soa_best_practices_1013x_drop3.pdf
    Thanks & Regards,
    Dharmendra
    http://soa-howto.blogspot.com

  • Best practice on calling an Oracle Bpel process

    Trying to find the best practice calling an Oracle Bpel process. I know that I can call the process via database, app server, anothe bpel process, from an application, cron job, etc... I can do any of these but want some feed back on what others do and what method is the best.
    Thanks

    Your right there are a lot of different ways to call the BPEL WS. I guess what I'm asking is if you had several of these options at your disposal what way would you choose?
    I have an asych bpel process that needs to be called once a day to move some data from one db to another. What do you think is the best way to perform this: from the db cron or Oracle job scheduler, the bpel manager on a timer, etc. I'm leaning towards calling it from the db via a cron or an oracle job. Want to know if there is a best practice for something like this.
    Thanks

  • Best practices for exposing BPEL as web service on the Internet

    Hello can anyone tell me if there are any best practices to exposing a BPEL process to the Internet using SOA Suite 11g. We want to create a separate domain that will contain the few processes that will be need to be accessed by external services. We obviously have to do this in a secure manner, so any help in this area on how to do so would be greatly appreciated.
    Thanks in advance.
    Jim

    Hello can anyone tell me if there are any best practices to exposing a BPEL process to the Internet using SOA Suite 11g. We want to create a separate domain that will contain the few processes that will be need to be accessed by external services. We obviously have to do this in a secure manner, so any help in this area on how to do so would be greatly appreciated.
    Thanks in advance.
    Jim

  • Constants in BPEL - best practice?

    Hello,
    In our workflows we use a lot of constant values. Constants can be of course hardcoded to the bpel process, but it is not very nice solution for viewing or editing them later. What would be the best practice for handling constants in BPEL? Could the constants be defined in a xml schema and use them in bpel process? I couldn't get this work with a quick try.
    Best regards,
    Tommi

    This should work as well. Thanks!
    I made a customXPath function for reading the constants from a table. Here is the how-to if somebody is interested:
    1. I created a table "bpel_constants" with two colums "key" and "Value"
    2. I created a customXPath function for reading a "value" from the "bpel_constants" based on the "key"
    public class ReadConstant implements IXPathFunction
    private String dbName = "jdbc/BPELSamplesDataSource";
    public Object call(IXPathContext context,
    List args) throws XPathFunctionException
    if (args.size() == 1)
    if (args.get(0) instanceof String)
    return readConstant((String)args.get(0));
    throw new XPathFunctionException( "readConstant() requires string argument." );
    private String readConstant(String key) throws XPathFunctionException
    Connection conn = null;
    String result = "";
    Statement stmt = null;
    try
    conn = makeConnection();
    stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select " + "value " + "from " + "bpel_constants " + "where " + "key = '" + key + "'");
    if (rs.next())
    result = rs.getString(1);
    else
    throw new XPathFunctionException("Value not found for " + key);
    } catch (SQLException se)
    throw new XPathFunctionException(se.getMessage(), se);
    } catch (NamingException ne)
    throw new XPathFunctionException(ne.getMessage(), ne);
    } finally
    try
    if (stmt != null)
    stmt.close();
    if (conn != null)
    conn.close();
    } catch (SQLException se)
    throw new XPathFunctionException(se.getMessage(), se);
    return result;
    private Connection makeConnection() throws NamingException, SQLException
    InitialContext ic = new InitialContext();
    DataSource ds = (DataSource) ic.lookup(dbName);
    return ds.getConnection();
    - makeConnection uses a JNDI to lookup the same datasource that the BPEL Engine uses (this requires a jndi.properties file to be in a BPEL Engine classpath to work).
    3. I put the ReadConnection class to the BPEL Engine classpath and defined the function in the xpath-functions.xml config file:
    <function id="readConstant">
    <classname>asdf.xpath.function.ReadConstant</classname>
    <comment>
    <![CDATA[Reads constant from bpel_constants table based on the key. The signature of this function is <i>asdf:readConstant(string)</i>.]]>
    </comment>
    <property id="namespace-uri">
    <value>http://asdf.com/xpath/CustomXpathFunction</value>
    <comment>Namespace URI for this function</comment>
    </property>
    <property id="namespace-prefix">
    <value>asdf</value>
    <comment>Namespace prefix for this function</comment>
    </property>
    </function>
    4. Then the function can be called in the bpel like for example:
    <assign name="Assign_2">
    <copy>
    <from expression="asdf:readConstant(string(bpws:getVariableData('inputVariable','payload','/client:customXPathtestProcessRequest/client:input')))"/>
    <to variable="outputVariable" part="payload" query="/client:customXPathtestProcessResponse/client:result"/>
    </copy>
    </assign>

  • Best Practice for CTS_Project use in a Non-ChARM ECC6.0 System

    We are on ECC6.0 and do not leverage Solution Manager to any extent.  Over the years we have performed multiple technical upgrades but in many ways we are running our ECC6.0 solution using the same tools and approaches as we did back in R/3 3.1. 
    The future vision for us is to utilize CHARM to manage our ITIL-centric change process but we have to walk before we can run and are not yet ready to make that leap.  Currently we are just beginning to leverage CTS_Projects in ECC as a grouping tool for transports but are still heavily tied to Excel-based "implementation plans".  We would appreciate references or advice on best practices to follow with respect to the creation and use of the CTS_Projects in ECC.
    Some specific questions: 
    #1 Is there merit in creating new CTS Projects for support activities each year?  For example, we classify our support system changes as "Normal", "Emergency", and "Standard".  These correspond to changes deployed on a periodic schedule, priority one changes deployed as soon as they are ready, and changes that are deemed to be "pre-approved" as they are low risk. Is there a benefit to create a new CTS_Project each year e.g. "2012 Emergencies", "2013 Emergencies" etc. or should we just create a CTS_Project "Emergencies" which stays open forever and then use the export time stamp as a selection criteria when we want to see what was moved in which year?
    #2 We experienced significant system performance issues on export when we left the project intersections check on.  There are many OSS notes about performance of this tool but in the end we opted to turn off this check.  Does anyone use this functionality?  Any reocmmendations?
    Any other advice would be greatly appreciated.

    Hi,
    I created a project (JDeveloper) with local xsd-files and tried to delete and recreate them in the structure pane with references to a version on the application server. After reopening the project I deployed it successfully to the bpel server. The process is working fine, but in the structure pane there is no information about any of the xsds anymore and the payload in the variables there is an exception (problem building schema).
    How does bpel know where to look for the xsd-files and how does the mapping still work?
    This cannot be the way to do it correctly. Do I have a chance to rework an existing project or do I have to rebuild it from scratch in order to have all the references right?
    Thanks for any clue.
    Bette

Maybe you are looking for

  • BSP CERTREQ with Windows 7 and IE 8

    Hello all We made an update of our SAP System to SPS 21 to get more support with WIN 7. But the problem is now, that he BSP application CERTREQ works only with Internet Explorer, but not on Windows 7. We get the following message on a WIN 7 with IE 8

  • Print GR slip for GR against an Outbound Delivery

    Dear Experts, I have a requirement as below. Need to print GR slip for GR against an Outbound Delivery in VL02N (for Return Orders) What setting needs to be done? I donot see the GR slip check box in VL02N which normally exists in MIGO However, i nee

  • How do  I make a ring tone for iphone 4

    How how do  I make a ring tone from my original music , all I read is old  , surely I can convert something to a ringtone  for my iphone 4. Just seems like I cant do anything without buying something from Apple ... need some help , iM geetting tired

  • ATI Rage PCI Card is stuck on an Unsupported Res

    Hey Folks, I have a G3 B&W PowerMac with a ATI Rage PCI Graphics card that is stuck on an unsupported monitor resolution. I was playing with the settings when I accidently changed the res setting to one my monitor couldn't use. Now the resolution wil

  • How can I have an instance of mx.controls.List in a SWF from Flash?

    How can I have an instance of mx.controls.List component in a Flash, and import its SWF into a Flex application so it can controll it?  Is it possible to do this either at author-time or runtime? I see plenty of examples of how you can import a SWC i