WS Best Practice - Is Duplicating Operations in multiple WSDLs OK?

My company is providing Web Services to multiple business partners for B2B and A2A Integration. We have Data Sets (XSD files) that are common to multiple services. One such example is a Customer Profile that contains stuff like Name, Address, Employment, etc. Since several of our Services (Existing and Future) includes the Customer Profile element (or some subset of it) in the request Message / Document we're expecting that the Service Consumer has already obtain the Customer Profile from an earlier Web Service call.
While we have a standalone Customer Profile Service, when Other Services requires the Customer Profile as input should we force the Service Consumer to call the Customer Profile Service (therefore requiring them to use at least 2 Web Services for the Integration), or should we add a Proxy Operation in the Other Service that would bundle all operations required by a particular Integration into 1 Composite Service?
Now we are not trying to create Consumer specific Web Services. We want to encourage re-use as much as possible. The whole idea of including an operation like "getCustomerProfile" in multiple WSDL / Service Contracts is only intended to simplify integration requirements for cases where a Service Consumer may only care about 1 specific Service or Integration scenario.
Another way to ask this question might be: If a Web Service requires a Data Set / Element in the Request that can only be provided by the Service Provider, should the Service also provide an operation for querying the required Data Set / Element; or in the case of a commonly used Data Set require that it be queried from a different Web Service?
Thanks

If you have things set up so that your layer names end with a space and a number, so that they increment when you duplicate them, you should be able to use the layer's name to navigate to the other layers in the set. For example, if your layers are named "layer 1", "layer 2", etc. and your control layers are named "control 1", "control 2", etc., you could do something like this in your expressions to construct the control layer's name on the fly:
n = name.split(" ");
ctrl = thisComp.layer("control " + n[n.length-1]);
Dan

Similar Messages

  • Best practice for linking fields from multiple entity objects

    I am currently transitioning from PHP to ADF. I'm looking for the best practice for linking data from multiple entity objects.
    Example:
    EO 'REQUESTS' has fields: req_id, name, dt, his_stat_id, her_stat_id
    EO 'STATUSES' has fields: stat_id, short_txt_descr
    'REQUESTS' is linked to EO 'STATUSES' on: STATUSES.stat_id = REQUESTS.his_status_id
    'REQUESTS' is also linked to EO 'STATUSES' on: STATUSES.stat_id = REQUESTS.her_status_id
    REQUESTS.his_status_id is independent of REQUESTS.her_status_id
    When I create a VO for REQUESTS, I want to display: REQUESTS.name, REQUESTS.dt, STATUSES.short_txt_descr (for his_stat_id), STATUS.short_txt_descr (for her_stat_id)
    What is the best practice for accomplishing this? It appears I could do it a few different ways:
    1. Create the REQUESTS VO with a LOV for his_stat_id and her_stat_id
    2. Create the REQUESTS VO with the join to STATUSES performed within the query for the VO. This would require joining on the STATUSES EO twice (his_stat_id, her_stat_id)
    3. I just started reading about View Links - would that somehow do what I'm looking for?
    I also need to be able to update his_status_id and her_status_id through the by selecting a STATUSES.short_txt_descr from a dropdown.
    Any suggestions on how to approach such a stupidly simple task?
    Using jDeveloper 11.1.2.2.0 if that makes a difference in the solution.
    Thanks ahead of time,
    CJ

    CJ,
    I vote for solution 1 as it's just your use case. As you said you what to update the his_status_id and her_status_id through the by selecting a STATUSES.short_txt_descr by a drop down. This is exactly the LOV solution.
    ViewLinks are used fro master detail navigation (which you don't do here) and Joining the data make it difficult to update (and you still need a LOV for the drop down box.
    Timo

  • Best practice for test reports location -multiple installers

    Hi,
    What is recommended best practice for saving test reports with multiple installers of different applications:
    For example, if I have 3 different teststand installers: Installer1, Installer2 and Installer3 and I want to save test reports of each installer at:
    1. C:\Reports\Installer1\TestReportfilename
    2. C:\Reports\Installer2\TestReportfilename
    3. C:\Reports\Installer3\TestReportfilename
    How could I do this programatically as to have all reports at the proper folder when teststand installers are deployed to a test PC?
    Thanks,
    Frank

    There's no recommended best practice for what you're suggesting. The example here shows how to programmatically modify a report path. And, this Knowledge Base describes how you can change a report's filepath based on test results.
    -Mike 
    Applications Engineer
    National Instuments

  • Best Practice for managing variables for multiple environments

    I am very new to Java WebDynPro and have a question
    concerning our deployments to Sandbox, Development, QA,
    and Production environments.
    What is the 'best practice' that people use so that if
    you have information specific to each environment you
    don't hard-code it in your Java WebDynPro code.
    I could put the value in a properties file, but how do I
    make that variant?  Otherwise I'd still have to make a
    change for each environment to the property file and
    re-deploy.  I know there are some configurations on the
    Portal but am not sure if that will work in my instance.
    For example, I have a URL that varies based on my
    environment.  I don't want to hard-code and re-compile
    for each environment.  I'd prefer to get that
    information on the fly by knowing which environment I'm
    running in and load the appropriate URL.
    So far the only thing I've found that is close to
    telling me where I'm running is by using a Parameter Map
    but the 'key' in the map is the URL not the value and I
    suspect there's a cleaner way to get something like that.
    I used Eclipse's autosense in Netweaver to discover some
    of the things available in my web context.
    Here's the code I used to get that map:
    TaskBinder.getCurrentTask().getWebContextAdapter().getRequestParameterMap();
    In the forum is an example that gets the IP address of
    the site you're serving from. It sounds like it is going
    to be or has been deprecated (it worked on my system
    right now) and I would really rather have something like
    the DNS name, not something like an IP that could change.
    Here's that code:
    String remoteHost = TaskBinder.getCurrentTask().getWebContextAdapter().getHttpServletRequest().getRemoteHost();
    Thanks in advance for any clues you can throw my way -
    Greg

    Hi Greg:
         I suggest you that checks the "Software Change Managment Guide", in this guide you can find an explication of the best practices to work with a development infrastructure.
    this is the link :
    http://help.sap.com/saphelp_erp2005/helpdata/en/83/74c4ce0ed93b4abc6144aafaa1130f/frameset.htm
    Now if you can gets the ip of your server or the name of your site you can do the next thing:
    HttpServletRequest request = ((IWebContextAdapter) WDWebContextAdapter.getWebContextAdapter()).getHttpServletRequest();
    String server_name = request.getServerName();
    String remote_address =     request.getRemoteAddr()
    String remote_host = request.getRemoteHost()
    Only you should export the servlet.jar in your project properties > Build Path > Libraries.
    Good Luck
    Josué Cruz

  • Expressions - best practice for duplicating layers

    Hello,
    I have a fairly complex set of expressions on multiple layers.  These layers together make up an overall effect for a piece of footage.  For convenience I have these expression linked to a controller null object so I can control them from one place.  Now that I have it set up, I want to duplicate the group of layers (footage item, various effects, and null object controller) multiple times.  I basically have a template for a footage effect that I want to duplicate multiple times so I end up with many pieces of footage with this effect applied.  When I duplicate the group of layers, I'd love to set it up in a way that the  expression variables will now point to the duplicated controller object.  I noticed this behavior happens if the expression is a simple pick whip from one property to another.  Basically a direct connection.  But if I attempt to store this pick whip selection in a variable to be manipulated further, this functionality ceases.  So my question is, how can I create a set up that will permit me to duplicate layers and have the expressions update as if they were a simple direct pick whip from one property to another?  Is this possible?  If not, how can I better set this up to allow me to accomplish my end result?
    Thanks!
    -Justin

    If you have things set up so that your layer names end with a space and a number, so that they increment when you duplicate them, you should be able to use the layer's name to navigate to the other layers in the set. For example, if your layers are named "layer 1", "layer 2", etc. and your control layers are named "control 1", "control 2", etc., you could do something like this in your expressions to construct the control layer's name on the fly:
    n = name.split(" ");
    ctrl = thisComp.layer("control " + n[n.length-1]);
    Dan

  • 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

  • Comparator Best Practice

    I am looking for some suggestions on how to sort a Collection of Objects multiple ways.
    I have the following Class:
    public class User {
    private String firstName;
    private Date dob;
    private String lastName;
    }And I want to sort it in different ways, by firstName or by dob etc.
    My idea after doing some reading is to provide a class that holds the different sort types
    import java.util.*;
    public class UserSortTypes {
        static final Comparator<User> FIRST_NAME_ORDER = new Comparator<User>() {
            public int compare(User u1, User u2) {
                return u1.getFirstName().compareTo(u2.getFirstName());
    static final Comparator<User> DOB_ORDER = new Comparator<User>() {
            public int compare(User u1, User u2) {
                return u1.getDOB().compareTo(u2.getDOB());
    }and then use that class when sorting etc.
    What is the best practice for sorting a collection multiple ways?
    Thank you,
    Al

    I'd do something like this, which is the same way you did it,...
    public class UserComparator implements Comparator<User> {
         private SortField field;
         private SortOrder sortOrder = SortOrder.ASCENDING;
         @Override
         public int compare(User o1, User o2) {
              int retVal = 0;
              // null-check...
              switch (field) {
              case FIRSTNAME:
                   retVal = o1.getFirstName().compareTo(o2.getFirstName());
              case LASTNAME:
                   retVal = o1.getLastName().compareTo(o2.getLastName());
              if(sortOrder == SortOrder.DESCENDING){
                   retVal *= -1;
              return retVal;
         public enum SortField {
              FIRSTNAME, LASTNAME;
         public enum SortOrder {
              ASCENDING, DESCENDING;
    }Best practice? I dunno,...
    For our presentation logic, we carry it to excess... we use one Comparator for sorting a List, displayed to the browser. Using it for for all types.
    ... 1.4 ...
    public class BeanComparator implements Comparator {
         private String property = null;
         private boolean ascending = true;
         public int compare(Object o1, Object o2) {
              int result = 0;
              Object value1 = this.getProperty(o1, property);
              Object value2 = this.getProperty(o2, property);
              // null checks,...
              if (value1 instanceof String) {
                   String s1 = (String) value1;
                   String s2 = (String) value2;
                   result = s1.compareToIgnoreCase(s2);
              } else if (value1 instanceof Date) {
                   Date d1 = (Date) value1;
                   Date d2 = (Date) value2;
                   result = d1.compareTo(d2);
                    // and other types,..
              if (!ascending) {
                   result = result * -1;
              return result;
         private Object getProperty(Object obj, String property) {
              // get property using reflection,...
    }regards
    slowfly

  • Best Practices - CUEAC

    Hi -
    Anyone out there using CUEAC in a switchboarding environment to direct inbound customer calls?  We are using CUEAC and I regularly monitor operator performance using the built-in administrator system reporting.
    I would like to connect with other businesses to share best practices and benchmark operator performance.
    Looking forward to connecting.

    Your data is bigger than I run, but what I have done in the past is to restrict their accounts to a separate datafile and limit its size to the max that I want for them to use: create objects restricted to accommodate the location.

  • Multi page best practices

    Hello,
    I am working on a form that navigates through several pages of gathering info. I am just wondering what the best practices are when dealing with multiple pages. Such as navigating the application, next page, previous page, etc etc. Would using states be a feasible possibility? What would be some other suggestions? TIA

    Use a ViewStack and move back and fourth between children in the ViewStacks children array based on back/next buttons.
    Alternatley use a tab navigator.
    An accordian.
    Horizontal list with slidding effects.
    Even a rotating carousel.
    There are any number of ways to do this and many many examples on the web.  Find one that you like and go with it! 
    As for best practices it is generally a good idea to focus on maintainability and extensibility when desinging the interface.  You want to be able to reuse it easily and to be able to quickly and easily make changes to the content (Forms).  I know that is vague but that's the best advice I can give on short notice without writing a chapter on it.
    -Joe

  • Having multiple service operations in a single JMS adapter best practice

    Hi All,
    I am using JDeveloper and SOA Suite 11.1.1.6. I need to read from multiple JMS Topics and transform and enhance the messages through the Mediator and then persist into Database.
    My question is
    What is the best practice to consume from multiple topics, Should I configure separate JMS adapter for each of the Topic destination
    OR
    have a single JMS adapter with multiple operations by manually changing the JMS adapter wsdl and jca file?
    I find cannot have
    Please suggest.
    Thanks in advance
    Edited by: user5108636 on 15/05/2013 11:36

    Hi Vijay,
    did you actually test this? When I finish creating a DBAdapter, there is a operation present. Then when I click edit again on the DBAdapter, and I create another select, when I finish only the first operation is gone, and I can only see the one I've created via the last edit.
    I dont understand your reply. Can I have two operations, each one with select underneath, in the same adapter?
    Edited by: user13604541 on Jan 30, 2012 11:19 AM

  • Exchange 2007 Multiple Send Connector Cost Best Practice

    Hi,<o:p></o:p>
    I am running exchange 2007 SP2 and have 2x exchange connectors set up with an equal default cost of 1.<o:p></o:p>
    Connector 1 is set to * address space and should forward all emails to two email security/management servers<o:p></o:p>
    Connector 2 is set to a internal sub domain server whose purpose is to file the emails on a CMS.  Emails are marked for "filing" when
    the Outlook plugin adds the connector 2's subdomain address into the bcc field.<o:p></o:p>
    What I want to clarify is if I was to change the cost of Connector 1 to 0 would all mail then only be routed via this connector?<o:p></o:p>
    I presume it would ignore the 2nd connector because the 1st connector's address space is *  and thus no emails would route through connector
    2 and therefore be filed to CMS ?<o:p></o:p>
    What would the best practice be for the costs of each connector ??<o:p></o:p>
    Thanks<o:p></o:p>
    Mat<o:p></o:p>

    I don't believe that 0 is a valid cost for a connector (I get an error if I try to see a connector with that).  If you have two connectors, Exchange will send to the one that matches the address space most correctly.  If you had no second connector,
    connector 1 would attempt delivery to your CMS.  Since you have that second connector, those messages will be delivered by it.
    Connector costs are normally used when you have multiple connectors with the SAME address space, and allows Exchange to fail from one to another when the preferred is not operational for some reason.  For example, if you have an ISDN line as your backup
    Internet connection, you want to give connectors that use it a higher cost than your MPLS connections use.
    I'll add that in most environments I've worked for the past several years, this redirection is handled at the network layer rather than the application layer.

  • 2012 NLB Best Practice (Single vs Multiple NICs)?

    Our environment has used an NLB configuration with two NICs for years.  One NIC for the host itself and one for the NLB.  We have also been running the NLB in multicast mode.  Starting with 2008, we began adding the cluster's MAC address as
    an ARP entry on our layer three switch.  Each server participating in the NLB is on VMware.
    Can someone advise what the best procedure is for handling NLB in this day?  Although initial tests with one NIC seem to be working, I do notice that we get a popup warning on the participant servers when launching NLB manager "Running NLB Manager
    on a system with all networks bound to NLB might not work as expected"... if they are set to run in unicast mode.
    With that said, should we not be running multicast?  Will that present problems down the road?

    Hi enoobmot11,
    You can refer the following KB and the VMware requirement KB:
    Network Load Balancing Best practices
    https://technet.microsoft.com/en-us/library/cc740265%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
    Multiple network adapters
    https://technet.microsoft.com/en-us/library/cc784848(v=ws.10).aspx
    The VMware KB:
    Microsoft Network Load Balancing Multicast and Unicast operation modes (1006580)
    http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006580
    Sample Configuration - Network Load Balancing (NLB) Multicast Mode Configuration (1006558)
    http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=1006558
    I’m glad to be of help to you!
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Best practice for multiple instances of the same BEX query

    Hi there,
    I'm wondering what's the best way to use multiple instances of the same BEX query. Let me explain what I mean:
    I have a dashboard with different queries feeding different period of time such as: week to date, month to date and so on. One query for each since it is based on a user exit.
    For each query I want to show different data in different sections of my dashboard. Per example: sales per directors or sales per customer group, sales per day, sales per week and the like.I tried to connect a simple bar chart via a direct connection but with no success due to the multiple lines generated by the addition of the sales director, customer group, week number and so on.
    My question is about the way to connect the different queries efficiently in order to show the different data while avoiding multiple useless lines.
    The image above shows the query browser where, per example, for a Month to date query there will be mutiple line for each week as well as one line for each director. If, for two different components, I want to show data per week and data per director or other representation what is the best practice:
    Add another instance of the same query and only put the week information and another one will only the director info?
    Should I bind those to the excel file and use formulas to make final calculations?
    Will there be a performance issues for adding different instances of the same query
    I have 6 different queries (read 6 user exit that filters time via user exit).
    Depending on the best practices there might be 4 instances for each for a total of 24 instances in the query browser.
    I hope my question is clear enough, if not please do not hesitate I'll clarify as much as possible.
    Regards,
    Steve

    Hi Steve,
    Might be trying for solution for a long time, If i understood your question clear let me clarify you few points.
    You are trying to access the bex query which is designed with the exit's in the background based on the logic and trying to call the entire dimensions and key-figures in a single connection. Then you are trying to map those data in the charts.
    Steve, try to make more connections based upon the logic and split them. use the same query but split them by sales per customer group, sales per day, sales per week by making three different connections and try. You can merge the prompts from all connections.
    Hope this Helps!!!
    Sorry if i misunderstood your question.
    --SumanT

  • Best Practice for using multiple models

    Hi Buddies,
         Can u tell me the best practices for using multiple models in single WD application?
        Means --> I am using 3 RFCs on single application for my function. Each time i am importing that RFC model under
        WD --->Models and i did model binding seperately to Component Controller. Is this is the right way to impliment  multiple            models  in single application ?

    It very much depends on your design, but One RFC per model is definitely a no no.
    Refer to this document to understand how should you use the model in most efficient way.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/705f2b2e-e77d-2b10-de8a-95f37f4c7022?quicklink=events&overridelayout=true
    Thanks
    Prashant

  • How to handle multiple site to site IPsec vpn on ASA, any best practice to to manage multiple ipsec vpn configrations

    how to handle multiple site to site IPsec vpn on ASA, any best practice to to manage multiple ipsec vpn configurations
    before ver 8.3 and after version 8.3 ...8.4.. 9 versions..

    Hi,
    To my understanding you should be able to attach the same cryptomap to the other "outside" interface or perhaps alternatively create a new crypto map that you attach only to your new "outside" interface.
    Also I think you will probably need to route the remote peer ip of the VPN connection towards the gateway IP address of that new "outside" and also the remote network found behind the VPN connection.
    If you attempt to use VPN Client connection instead of L2L VPN connection with the new "outside" interface then you will run into routing problems as naturally you can have 2 default routes active at the sametime (default route would be required on the new "outside" interface if VPN Client was used since you DONT KNOW where the VPN Clients are connecting to your ASA)
    Hope this helps
    - Jouni

Maybe you are looking for

  • How I fixed my iPhone and got the update to work...

    This sounds silly, but I just kept un-docking my iPhone and then re-docking it. If the error message came up, I clicked "OK" and did it over again. After about the eighth try, it went through and my iPhone is now updated. Hope this helps.

  • IMac 24 C2D freezing, beach ball, pinwheel

    Hello wonderful user community! I am helping my wife with this issue, she's never posted on the ASC before. In the last two weeks my iMac has started behaving strangely.   It doesn't seem to matter whether running Spotify, Chrome, Firefox, or other a

  • Filter in group above report

    Hello Friends, I have made a report in Reports3.0 version. The report uses 2 groups which I will refer as "Top" and "Bottom".I filter the data from "bottom" group using the group filter function. It so happens that when the all "Bottom" group is filt

  • Will a new mac mini support two screens?

    I would like to purchase a mini but need to run 2 screens.

  • Classloader

              wls 6.1sp4           WebApp in WAR format contains a servlet which loads on startup. This servlets           has to load some properties file. Currently if i have this properties file in           system classpath. Servlet is able to find.