Aggregator pattern

Dear Scn users. 
I just tried a aggregator pattern of collecting messages based on common Id.And also collecting only messages on count.
Below is my pattern
I am confued like what condition I should give in correlation condition to collect the messages.
I tried by giving condition like this
Class="12"
My requirement is  to collect the messages having class 12
And only 3 messages.
How to give condition for correlation and how to increment the count based on this condition
Please help me on this
Thanks & Regards
Raghuram S
SAP PO consultant.

Hello Manish.
Thanks a lot..
I used 3 data Object.
Count-I intialised this with zero at the start event.
then in the Count event I am just adding it with 1,to increment the count value
Class-am just assigning a value 12 to it.(In Intermediate Step)
ClassNo-Am getting the first value from queue.(In Intermediate Step)
and in the correlation condition of intermediate message I am defining as
Class=ClassNo
When I trigger the message,its always taking second value,I mean if the second value is 12 ,3 messages are appended and sent.
Where I am wrong.
Can you please help me on this..
Thanks.

Similar Messages

  • BizTalk Aggregration Pattern as a reusable Service!!!

    Hello Team, 
    I'm currently working on SOA pattern and would like to start with having BizTalk Aggregration pattern as a service so that any interface which needs to have batching
    process can call this generic aggregation service and in return get the batch msg. 
    Please refer to the image attached to get better clarity on my requirement. 
    Any links or suggestions will be useful 
    Thanks in Advace

    Hi Manju,
    You have to employ
    Canonical Data Model along with aggregation for your requirement.
    Create a canonical (detailed internal) schema which would act as single entity containing all the sub-sets data model of the external system. i.e.
    you will have an internal schema which contains all the elements/nodes of the inbound schemas. So when you receive schema-A or schema-B, you would map these entire schema to canonical schema (you could do this mapping in port level) and in your BizTalk aggregation,
    you will use canonical schema for aggregation. When you send aggregated message out, at the outbound port level you can map the aggregated canonical schema to the outbound specific schema.
    This way you can make the BizTalk orchestration/process which aggregates the inbound message as common service since it details with canonical schema,
    independent of the source or destination systems.
    In the following article you will find reference about the
    Canonical Data Model and aggregation pattern.
    http://social.technet.microsoft.com/wiki/contents/articles/11862.biztalk-enterprise-integration-patterns.aspx
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How to update a list in parent view with data from child view/window ?

    I have a view named AccountListView that displays some buttons and a list of accounts.Its viewmodel is called AccountListViewModel and has a collection : ObservableCollection<AccountViewModel>. What I'd like to acomplish: whenever I press the Add/Edit
    Button from the AccountListView to open a new window/usercontrol, i.e. AccountView and bind it to an instance of AccountViewModel that will have some fields to fill in and a Submit and Cancel buttons. How can I update the ObservableCollection<AccountViewModel>
    from  inside the child view, so when I click on the Submit button from AccountViewModel it will return an AccountViewModel object with the data I filled in and add it to the observablecollection. Would notifications from prism be the right way ? Should
    I include code from the AccountListViewModel and AccountViewModel ?

    The way to communicate between view models in Prism is to use the EventAggregator. You raise an event from view model A and subscribe and handle this event in view model B. I have written a blog post about it which should be helpful here:
    http://blog.magnusmontin.net/2014/02/28/using-the-event-aggregator-pattern-to-communicate-between-view-models/.
    In your case you could define an event that carries an AccountViewModel object and pass this one from view model A to view model B:
    public class AccountViewModelEvent : CompositePresentationEvent<AccountViewModel>
    Please refer to the blog post for more information and a complete code example.
    Hope that helps.
    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don't ask several questions in the same thread.

  • Use Events or delegates in my application??

    I am trying to implements events in c#. my scenario is that there will be multiple events and there will be multiple events listeners to an event(many to many relationship).
    the problem here is since there are many events and if i implement all in one class, maintaining code will a tough task, and if i create one class per event there will be too many classes.
    I found a solution which has an event broker in this link: http://msforge.net/blogs/paki/archive/2007/11/20/EventBroker-implementation-in-C_2300_-full-source-code.aspx
    but here the author is using delegates only instead of events. he is maintaining a dictionary wherein he is saving some event ID as key and list of delegates as value. this solves my problem of code maintenance.
    my question is that is it fine to do this way since behind the scenes an event is a construct that wraps a delegate only or use events which c# is already providing rather than maintaining a dictionary?
    which one is a better way in terms of performance or any other way?
    Also is there any better way to implement my scenario with events
    Please provide your inputs.

    You should take a look at the event aggregator pattern:
    http://martinfowler.com/eaaDev/EventAggregator.html
    I have written a blog post about how to communicate between classes using the event aggregator class that is included in Prism here:
    http://blog.magnusmontin.net/2014/02/28/using-the-event-aggregator-pattern-to-communicate-between-view-models/
    Prism is a framework for building composite XAML based applications from the Microsoft Patterns and Practices Team:
    http://msdn.microsoft.com/en-us/library/gg406140.aspx. But even if you are not developing a XAML based application, the concepts and many of the components are still useful.
    Another popular framework out there is MvvmLight which uses a Messenger class to handle this kind of communication:
    https://marcominerva.wordpress.com/2014/06/25/how-to-send-string-and-content-messages-with-mvvm-light-messenger/
    http://stackoverflow.com/questions/16993918/mvvm-light-messenger-sending-and-registering-objects
    http://msdn.microsoft.com/en-us/magazine/dn745866.aspx
    Hope that helps.
    Please remember to mark helpful posts as answer and/or helpful and please start a new thread if you have a new question.

  • How to access static resources in ear without specifing context-root

    Hello, i have a problem with my ear.
    The war's structure is like this:
    ---/jsp
    ---/css
    ---/images/ViewRisposte.gif
    ---/xsl/Request.xsl
    ---/Common/data.xsl
    /error.xsl
    /input.xsl
    xsl files reference css and images files that are contained in css and images dir.
    I can't use the "../" to specify css and images path into xsl and jsp due to security policy setting on the Http server (and I can't change this policy).
    In the ear's application.xml is specified the context root of the module web with the name SABEARWeb
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <application>
    <display-name>SABEARWeb module</display-name>
    <module>
    <web>
              <web-uri>SABEARWeb.war</web-uri>
              <context-root>SABEARWeb</context-root>
         </web>
    </module>
    </application>
    For example with this following code (Request.xsl), how can i replace the "../" notation to access xsl and image resouces without write the context root? How i can insert the images and css references into xsl and jsp files?
    <xsl:import href="../Common/data.xsl" />
    <img align="center" width="20" src="../images/ViewRisposte.gif" id="viewXslRisp" title="Visualizza Risposta">...</img>
    Thanks a lot

    >>As I understand I should change View1 by handling command of button “Edit”, and then View 2 should be displayed, then I change data and then View1 should be updated. How to do it?
    For information about how to handle a command, please refer to my blog post:
    http://blog.magnusmontin.net/2013/06/30/handling-events-in-an-mvvm-wpf-application/
    You could bind the Command property of the edit button to an ICommand property of VMMain. When this command is executed you could then send a message using an event aggregator or some kind of messenger. Please refer to my blog post for more information about
    how to for example use Prism's event aggregator class to pass events between view model classes:
    http://blog.magnusmontin.net/2014/02/28/using-the-event-aggregator-pattern-to-communicate-between-view-models/
    Andy has written an example of how to use MvvmLight's Messenger class:
    http://social.technet.microsoft.com/wiki/contents/articles/26070.communicating-between-classes.aspx
    The concepts are the same but you will have to download and reference either Prism:
    https://www.nuget.org/packages/Prism/
    ...or MvvmLight: https://www.nuget.org/packages/MvvmLight/
    You then subcribe to this event or message in the main view model and change the value of the CurrentPageViewModel property whenever you recieve an event. Note that the class must implement the INotifyPropertyChanged interface and raise its PropertyChanged
    interface for this to work:
    https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
    This is how you are supposed to communicate between different view model classes.
    Hope that helps.
    Please remember to close your threads by marking helpful as answer and then start a new thread if you have a new question.

  • Debatching and batching

    I have some questions here
    1.How can we promote properties in pipeline component
    2.Is there any way implement call orchestration functionality using start orchestration
    3.Steps for debatch and batch the message .
    4.My rules have been configured with the priority 0 and priority 10 in Business rule composor which one will execute first .

    Thanks for the reply
    For 2nd point
    implement first call orchestration then start orchestration is in main orchestration,it will work , but  my question was  i am already in child orchestration(implemented start orchestration functionality) ,from here we need to implement call orchestration
    functionalists,it means send caller back to main orchestration .
    For 3rd point
    Debatch
    I have used envelop schema ,details as follows
    1.Created employee schema and followed envelop schema creation steps and used error schema inside .
    2.created error schema(ID,Name and etc)
    Rebatch:
    To Do this we need to use aggregation pattern ,for this i am using correlation concept
    1.Promoted ID in error schema and created correlation set using ID(set name is ReBatch).
    2.In receive shape configured initialized correlation with ReBatch
    3.Send shape configured followed correlation with ReBatch .
    here i am getting build error is
    Error    1    message data property 'BasicXMLEnvelope.PropertySchema.ID' in correlation 'BasicXMLEnvelope.MultiEnvolop.ReBatch' does not exist in message 'RecvEnvolop'    C:\Test\BasicXMLEnvelope\MultiEnvolop.odx  
     190    79    BasicXMLEnvelope
    I  agree this issue because field element ID is not available in created envelop schema it is available in Error schema.
    any help

  • Calling two Business service using split join in osb

    Hi,
    While trying to call two business service using Split Join in osb i am getting selection failure message in Bpel em console. i am using invoke activity to invoke the BS and assign to assign the input. in the assign i am assigning *$request.payload/input* to input.payload . In the em console i am getting input like this
    receiveInput
    Jun 19, 2012 5:05:45 PM Received "process" call from partner "bpelprocess1_client"
    <payload>
    <inputVariable>
    <part name="payload">
    <client:process>xxxxx</client:process>
    </part>
    </inputVariable>
    Assign (pending)
    Jun 19, 2012 5:05:48 PM Error in evaluate <from> expression at line "65". The result is empty for the XPath expression : "/client:process/client:input".
    <payload>
    <client:process>xxxxxx</client:process>
    Jun 19, 2012 5:05:48 PM The following exception occurred while attempting to execute operation copy at line 63
    <payload>
    <bpelFault>
    <faultType>0</faultType>
    <selectionFailure/>
    </bpelFault>
    Jun 19, 2012 5:05:57 PM "BPELFault" has not been caught by a catch block.
    Jun 19, 2012 5:06:00 PM The transaction was rolled back. The work performed for bpel instance "650002" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.
    Can anyone help on this?
    Thanks in Advance...

    maybe this one helps a bit, it's the same pattern
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/
    if you're using a dynamic split join easiest way is to do something like
    assing <yourresponse/> to $response
    at this moment your assign an empty placeholder to the response variable
    now you go into the for-each looping and for each iteration you need to insert the response of your bpel call in the $response variable
    so in the looping as last step you add something like
    insert $mybpelresponse/rootelement into $response/yourresponse
    with the insert it will insert the reponse 1..x times into the $response variable (so actually aggregating all the responses for you)

  • Receive choice (BPEL) in BPMN

    Hello Experts,
    I`m converting a process from non-SAP integration system which is using BPEL for process description into SAP PO (which is using BPMN of course).
    I`m wondering how can I convert BPEL activity RECEIVE CHOICE into SAP BPMN.
    Receive choice is something like CASE ... WHEN statement in ABAP. You set the sender Service Interface with multiple operations into it and it will choose which branch is the right one, according to which operation was called by sender system.
    I found that SAP implementation of BPMN has big restriction according to standard BPMN or BPEL - you can set only one operation of only one service interface as input point of BPMN process.
    Is there some design pattern or work around how to convert that BPEL activity into SAP BPMN?
    Thank you
    VB

    I read that excellent article of Volker before, and it is possible solution for that problem, but only in a case that I need to aggregate few messages of not so different message types.
    But it is not my case - I need to trigger my process for almost twenty message types (almost twenty operations on my service interface), and if I would make super message type (combined message type of all message types) it would have hundreds of fields and such a message would be so huge to work with and really unflexible to future changes.
    So - simple aggregator pattern is not suitable for me, because it consumes multiple messages of one message type (one operation) and that upgraded aggregator pattern (after some changes) can be a solution, but due to high number of operations (message types) - it is somewhat unpractical.
    Neverthless, that I dont need to aggregate these messages, but I need some kind of DISPATCHER pattern.
    I have one service interface with multiple operations and want to dispatch right process for actual operation of that SI. I cannot believe that BPMN doesnt have such a trivial functionality.
    vb

  • Multiple Group Currencies

    Hi Team,
            We have six consolidation groups with different currencies,I have following clarifications about execution of consolidation:
    Our requirement is to see the consolidated financials of all consolidation groups in their respective currencies for our internal requirement. I have not specified any group currency in my consolidation area, as we can use multiple group currencies.
    1.Can I process  all tasks of the consolidation from the lowest consolidation group to the top- in aggregation pattern keeping the immediate parent company's currency as group currency in the parameters. what will be the impact of this.
    2.Do I have to repeat all tasks again, when I execute my final consolidation which is in INR , since I could have already completed my lower consol groups.
    Kind Regards
    Sreedhar

    I don't think adding a group currency (currency type 30) in a live system is as simple as shutting down the system and moving the transport, even if you plan to do it at the end of a fiscal year.  This might work for future postings (after you do the necessary configuration settings, in spite of the warning that SAP issues in OB22 when you add an additional currency), but think about how will you get the group currency amount for historical postings - without this you will not be able to pull balance to date in group currency for let's say a balance sheet account.
    SAP SLO Services helps with introducing additional currency in a live system - System Landscape Optimization | Data and Technology Services | SAP
    On the OB22 question in your response, you are right - 1st local currency is company code currency, 2nd could be your group currency.  Third is for hard currency, index-based currency, or global compay currency.  See below:
    Hard currency
    Hard currency is a country-specific second currency which is used in
    countries with high inflation.
    Index-based currency
    Index-based currency is a country-specific fictitious currency which is
    required in some countries with high inflation for external reporting (for
    example, tax returns).
    Global company currency
    Global company currency is the currency which is used for an internal
    trading partner.
    On the last question that you have on offline conversion, yes exchange rate is the key for that.  I think the recommended approach for group currency conversion is to use monthly average rate for income statement accounts, and month-end rate for balance sheet accounts.

  • Splitjoin invocation

    hi,
    I am getting this fault in osb split join while using Parallel to invoke three external sevices
    <faultcode>soapenv:Server</faultcode>
    <faultstring>
    BEA-380001: [subLanguageExecutionFault] [BEA-2031509] Executing an expression caused an unhandled fault: Variable 'pointsBalanceRequest' is being referenced before it has been initialized with a value.: Fault [{http://docs.oasis-open.org/wsbpel/2.0/process/executable}uninitializedVariable] [BEA-2031518] Variable 'pointsBalanceRequest' is being referenced before it has been initialized with a value.
    Executing Process Reference: GetLoyaltyMemberProfileOSB/splitjoin/v10/GetLoyaltyMemberProfileSplitJoin; instance ID: uuid:ea3018e377a427e6:-6824b51:1382c77d9c5:-7fc6; thread: Thread 6 (RUNNING); frame ID: lockHandler,15; location: 40 ({http://www.bea.com/wli/sb/stages/transform/config}assign [88,11]) - ENTER.
    </faultstring>
    Can anybody can share any URLS of how to hadle this.
    Expecting a reply from ASAP
    regards
    sri

    i assume the pointsBalanceRequest variable is the input variable of the business service you're trying to invoke in the split join?
    can you try 'filling' this variable before this invoke with an assign instead of a replace?
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/ maybe that one helps a bit too

  • Split joins in OSB

    Hi,
    Actually i do have a requirement where i need to call 2 business services simultaneously(in parallel) in OSB(Like using Flow activity in SOA) using split joins. Is it possible to call 2 business services parallely in OSB?
    Can any one please help me out with any blogs or steps that i can follow to achieve this.
    Your help is appreciated.
    Thanks,
    Naveen

    That is not entirely true. Split Join itself is based on single operation, i.e. the input to split join will be a single message, but within the split join you can invoke multiple services in parallel. You can either dynamically decide the number of parallel flows at runtime (similar to FlowN) or you can have static number of parallel calls (like Flow activity of BPEL) within split join.
    In case you want to call two business services in parallel, create a WSDL(if needed, in most cases you can reuse the WSDL of the Proxy Service itself for SplitJoin as well unless you are doing enrichment within Proxy before calling business services) for split join which has request message which contains data for both business services. Within the split join you can configure calls to both business services in parallel and you can also add transformations for each business services in respective branches.
    You can than aggregate the response from both services if needed and return that as a response of split join.
    Here is an example of Static Split Join:
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/

  • How to call a function from one viewmodel to another viewmodel

    Hi ,
    How to call a funtion of another viewmodel in a viewmodel . This help would be much appreciated
    Thank You
    Jeevan Vinay

    Please close your previous threads by marking helpful posts as answer before you start a new one.
    You need to either get a reference to the second view model from the first one or you could use some kind of messenger or event aggregator to pass a message from the first view model to the second one. The latter approach is preferable as it doesn't create
    a tight coupling between the two view model classes.
    Please refer to my blog post for more information and an example of how to use Prism's EventAggregator to do this:
    http://blog.magnusmontin.net/2014/02/28/using-the-event-aggregator-pattern-to-communicate-between-view-models/
    You will need to download and install Prism to be able use the EventAggregator class:
    https://www.nuget.org/packages/Prism/
    Another popular framework out there is the MvvmLight which contains a Messenger class that works pretty much the same. Andy has provided and example of how to use this one:
    http://social.technet.microsoft.com/wiki/contents/articles/26070.communicating-between-classes.aspx
    You can download and install MvvmLight via Nuget (Tools->Nuget Package Manager->Package Manager Console in Visual Studio):
    https://www.nuget.org/packages/MvvmLight/
    Please remember to close your threads by marking all helpful posts as answer and then start a new thread if you have a new question.

  • Is this breaking the MVVM pattern?

    We've been having discussions lately as to what is acceptable to put in the code behind of a view, and what should go in the view model. I seem to be a lone voice, and wanted to hear what others have to say, as I haven't yet heard an argument that explains
    why I'm wrong, other than "That's not the way we do it," or "Because it breaks the pattern," neither of which are very compelling technical reasons. I'm keen to do it right, but only for the right reasons.
    As an example, suppose you want to create a quote for a customer. On the new quote details window, you click a button to open a PickCustomerWindow, from which you choose a customer, and are taken back to the quote details window with the customer selected.
    (I know this isn't necessarily the optimal way to do this, but it fits closely with how a lot of our windows work, so please bear with me)
    Now, others in the team insist that the "right" way to do this is have the customer list window send out a message with the picked customer, and have the quote details window's view model pick up that message and set the customer. I feel that this
    obfuscates the code for no apparent benefit (see below for why).
    I would prefer to do it as follows. The quote window's view would have code like the following in the event handler for the appropriate button...
    private void PickCustomer_Click(object sender, RoutedEventArgs e) {
    PickCustomerWindow pcw = new PickCustomerWindow();
    pcw.Closing += (_, __) => {
    if (pcw.Customer != null) {
    ((QuoteDetailsViewModel)DataContext).SetCustomer(pcw.Customer);
    pcw.ShowDialog(this);
    The SetCustomer() method on the QuoteDetailsViewModel class does the same as a ProcessMessage method would do, in that it gets a customer and does whatever the view model needs to do with it. The difference is that the SetCustomer() method can be accessed directly
    by the view that opened the PickCustomerWindow.
    If you wanted to simplify this code even more, you could omit the null check and have the view model do that, but I don't think you gain a great deal by that.
    In the words of Laurent Bugnion (creator of the MVVM Light Toolkit)...
    "Only put in the VM what should be tested by unit tests, shared with other projects, etc. If you have some view-only code, it is perfectly OK to leave it in the view only. If you need to compute some condition deciding if the child window should be
    opened or not, it is OK to create a method doing the calculation and returning a value, and to have the view call this method."
    I would say that my approach fits very well with his words.
    Now, I know that people like to keep code out of the view, and with good reason. However, the code above is so simple that there is no reason not to put it in the view, and you end up with a super-simple process that is easy to follow. If you want to know what
    happens when you click the button, you look at the view's code-behind, and can see the whole story. You can put your cursor on the SetCustomer() method and click "Navigate to" and you are taken directly to the code that deals with the customer.
    Writing unit tests against this becomes extremely easy. You simply create a customer entity, pass it to the SetCustomer() method and test whatever property of the view model is supposed to reflect the change. Very easy.
    Now, compare this approach with sending a message. Having looked at the quote window's view code to see what window gets opened, you need to go to that window, find out what its view model is called, look in the view model and find out what message is sent
    out when the customer is picked, find all usages of that message type in the solution, examine each one in turn to find out if it's the one that's relevant to you, and only then can you see what happens to the customer. That's a lot of messing around and a
    lot of wasted time to follow a simple process. In the code I showed above, you don't even need to look at the PickCustomerWindow or its view model, as you don't need to know what they do. All you need to know is that the window has a Customer property that
    returns the selected customer (or null if one wasn't selected).
    Furthermore, in order to write unit tests against the view model, you either have to simulate sending a message, which is a messy experience, or you have to make the ProcessMessage method public, which exposes something that has no reason to be exposed.
    A similar question comes up with using the event-to-command pattern, which I also feel is abused in the name of "doing it right." What is the point in the view sending a command to the view model, so that the view model can raise an event to tell
    the view to do something? The view already knows what it's supposed to do, so why not just let it do it? Yes, if there is testable code that is involved this needs to go in the view model, but then you just add a public method and allow the view to call that.
    Please re-read the end of Laurent Bugnion's words above, and you'll see that this is exactly what he suggests. What is the point of complicating the code with events that have no benefit at all?
    I'm all in favour of doing it the "right" way, but only when it really is right. A method that obfuscates the code for no reason isn't what I would call right. By contrast, a method than uses clean, simple and easily testable code, that can be understood
    immediately is defintely what I would call right.
    Does anyone have any comment one way or the other?
    FREE custom controls for Lightswitch! A collection of useful controls for Lightswitch developers (Silverlight client only).
    Download from the Visual Studio Gallery.
    If you're really bored, you could read about my experiments with .NET and some of Microsoft's newer technologies at
    http://dotnetwhatnot.pixata.co.uk/

    Hello, thanks for the reply. I appreciate your time, and any comments below should be taken in that light! Yes, I'm going to argue back, but merely because I want to understand the logic here.
    >Handling click events of button in the code-behind of a view breaks the pattern
    Call me a heretic if you like, but I'm not interested in hearing this. Patterns are not carved in stone, never to be questioned. Patterns are established ways of doing something
    that have a specific benefit. (emphasis mine!). If I'm going to obfuscate the code, I want to know what the benefit is. Being able to hold my head up in dev meetings saying I don't break the pattern is not a benefit to me. Writing better code
    is, and that's what I'm trying to find out. I want to write better code, even if it breaks the pattern.
    >All application logic, for example what happens when you click a button, should be handled by the view model
    What is your definition of logic? Maybe it's just my mathematical background, but to me, logic is code that makes decisions, ie testable code. A single line of code that opens a window is not logic, and does not need testing. Why does it need to be handled
    by the view model?
    More to the point, why does a view model even have to know about windows? A view model should be completely view-agnostic, meaning it could function just as well with any view. The fact that the incoming customer (in my previous example) came from a window
    is irrelevant to the view model. All the view model needs to know is that it has been passed a customer. If you start allowing the view model to know about the UI, then you are mixing the layers.
    >Using your solution, how are you suppose to unit test what happens when a button is clicked without the view?
    You don't! That's precisely my point. The code I showed doesn't need testing,
    because it doesn't contain logic. What you need to test is what the view model does with the customer that it was given. How the view model gets the customer is not something (at least in an example as simple as mine) that needs testing.
    This is where I really can't see the obsession with shoving everything into the view model. If you have simple UI-related code that doesn't need testing, why not put it where it belongs, ie in the view?
    >Using an event aggregator or a messenger doesn't necessarily makes the code or the control flow easier to understand but it  makes the components more loosly coupled to each other
    Well, the view already knows about the view model, it has to, or it wouldn't be able to bind stuff to properties on it. I don't see that having the view call a method on its own view model is increasing any coupling. The other way around would be, as it
    would prevent you from testing the view model in isolation.
    Thanks for the reply, but to be honest, you've not really done much more than repeat the same sort of things I've heard before. I still haven't found any technical justification for the extra complexity. As far as I understand it, the ultimate purpose of
    these patterns is to allow you to test each piece in isolation, and the way I suggested provides for that, whilst keeping the code simple. What you are suggesting doesn't seem to offer any technical benefits, such as easier or more thorough testing, but does
    make the code significantly more complex.
    Please let me repeat that I really do appreciate your time, and am not trying to be rude or arrogant. I really want to understand why people insist on doing the way you are suggesting, but I want to understand it from a technical benefit point of view. What
    can I do better this way?
    Thanks again. I would be interested to hear what you have to say to my comments.
    FREE custom controls for Lightswitch! A collection of useful controls for Lightswitch developers (Silverlight client only).
    Download from the Visual Studio Gallery.
    If you're really bored, you could read about my experiments with .NET and some of Microsoft's newer technologies at
    http://dotnetwhatnot.pixata.co.uk/

  • Process Design Patterns in XI

    Hello,
    I heard that XI has got Design patterns such as Aggregation, Serialization etc. in the Process editor. Where do the messages get stored until the aggregation is carried? Does it make use any ODS in Integration server?
    We are using TIBCO and it does not seem to have this functionality.
    Thanks,
    Venu

    Hi Venu,
    The XI Business Process Engine is implemented on top of SAPs workflow engine, so the state of a process (including whatever messages it contains) is stored in the database underlying the SAP Web Application Server.
    Regards,
    Thorsten

  • The reasoning behind aggregation rules at report level

    Hello guys
    I notice that in the answer criteria, we can define column formula of each columns in the request, but we can also set aggregation rules for the numeric columns..
    I'd like to have a deeper understanding on how these settings work..
    The Avg, Max, Min, Count are pretty clear and self-explanatory to me.
    My main question is the difference between 'default', 'Server determined', 'complex server aggregate', and 'Sum'.
    In a lot of the measure columns when the aggregate rule is 'default', when I do subtotaling in report views, I would actually get the right total amount by dimension columns, however there are also places in the report where the sub total is off, so I have to go and set the aggregate rule of that measure to 'Sum' then the total becomes correct 100%. When I try 'server determined', 'complex server aggregate', some measures change and some don't, but this is not in a pattern of change that I can understand the concept behind. The OBIEE documents said very little about this part
    So is there more detailed information out there that explains more about what these options are doing?
    Thanks in advance

    Hi Shruthi,
    To be clear you have one table 'DIM_LF_B' and its separated out as FACT and DIM in BMM layer with respective formulas ? If yes check this http://www.varanasisaichand.com/2012/04/fact-and-dimension-from-single-source.html
    let me know if it is different
    Thanks,
    Saichand

Maybe you are looking for

  • External Hard Drive with Time Machine

    I have an iMac MID 2011 21.5". Regarding an external HD with TIme Machine : 1. Is there a difference between 5400 rpn and 7200 when using TIme Machine ? 2. Is the lower HD ( 5400 ) can slow the iMac more then the 7200 ? Thank you

  • Deployment Package problems DMS 5.2.1

    All just an FYI for anyone else having issues with a deployment package. This is on DMS 5.2.1 If your presentation references a video file from the Media library that has a space in the Title the deployment does not complete. No error - just does not

  • Regrouping XML Data that includes two paths

    Hi all, Apreciate your inputs on the issue I am facing: Using the xml below, I want to first group by <ID> <-- used <?for-each-group:GROUP;./ID?> and then within the <ID> group by SDATE - EDATE combinations And AMT to show the sum of the SDATE - EDAT

  • Can i Use a time stamp vale  in where condition with date field?

    HI, In a where condition the table field vale is of type timestamp and select options value is of type date. How do i select data?

  • R12.1.1 Upgrade: Question on  Laying tech stack using rapidwiz

    Hi I am preparing for the R12.1.1 upgrade from 11.5.10.2 and we are already on 11.1.0.7(for db). I have given the environment to functional teams to do pre-steps on the 11.5.10 code tree as per the upgrade document. In the meantime, I was hoping I ca