Aggregate Pattern

Hi Team,
Just Started the Aggregate Pattern and
My Requirement is to collect the 3 messages of Pencils based on their color(should be same for three messages)
Attaching my pattern
Start:
I have initialized the Counter to zero
CurrentPencilID is of type string(what should we initialize here?)
Numberof Pencils is of type integer(what should we initialize here?))
Mapping
I have Incremented the Loop and mapped the outputs.
Exclusive choice
Here I have given the condition for the loop if counter reaches the count 3 it will send the message and end the activity.
Else
Intermediate Step.
Here the incoming message should match the correlation field and But I am unable to do so.
Please help me out for this condition evaluation.
As it should collect messages of three Blue Pencils and aggregate all three messages and send to the target.
Regards,
Novveen

Hi Bacchu,
Perhaps you should post your question within the BPM community (SAP Business Process Management)
Kind regards,
Dimitri

Similar Messages

  • Correlation condition in Aggregate Pattern

    Hi Team,
    Just Started the Aggregate Pattern and
    My Requirement is to collect the 3 messages of Pencils based on their color(should be same for three messages)
    Below is My pattern:
    Start:
    I have initialized the Counter to zero
    CurrentPencilID is of type string(what should we initialize here?)
    Numberof Pencils is of type integer(what should we initialize here?))
    Mapping
    I have Incremented the Loop and mapped the outputs.
    Exclusive choice
    Here I have given the condition for the loop if counter reaches the count 3 it will send the message and end the activity.
    Else
    Intermediate Step.
    Here the incoming message should match the correlation field and But I am unable to do so.
    Please help me out for this condition evaluation.
    As it should collect messages of three Blue Pencils and aggregate all three messages and send to the target.
    Regards,
    Novveen

    Hi Novveen,
    from what i understand, the difficulty is what to initialize CurrentPencilID and Numberof Pencils. I assume CurrentPencilID is storing the color of pencil. (Please correct me if its not so)
    perhaps you can try something like below condition in correlation. Below condition should return true for first message i.e. when counter = 0 and accept whatever color is supplied. In IntermediateMesasge output, you should map the first incoming color into CurrentPencilID. So first pass will initialize color id. Also you will increment counter.
         IF(Counter=0,true,IncomingMessage/Color=CurrentPencilID)
    For next passes, as counter is non-zero, the result of IncomingMessage/Color is evaluated against initial color ID i.e. CurrentPencilID (IncomingMessage/Color=CurrentPencilID) and returned.
    For each successful return, NumberOfPencils is incremented (little doubt - why its used, isnt counter doing same ? )
    -Abhijeet

  • Edi sequential convoy aggregation missing first message in output

    Hi I am getting EDI batch in inbound and I need to create equivalent xml batch in output, so I am using aggregate pattern with convoy. When I run it I always see one message missing in output. Say if I run file of 3 transactions  I will get only 2 messages
    in output first message will not be there. If I run 2 transaction file , again I will missing fist one.Can anybody suggest what could be problem

    Crossover with this thread:
    http://social.msdn.microsoft.com/Forums/en-US/237fa016-80b4-4663-91e2-1dbe973eb9c9/getting-count-of-st-segment-in-edi?forum=biztalkgeneral
    You need to move your app logic outside and before the Listen Shape.
    The Listen Shape must be the last thing in the Loop where you either Receive another Message or timeout. If you Receive another Message, you Loop back and run your logic. If the Delay fires, exit the Loop.

  • Any difference between distinct and aggregate function in sql query cost???

    Hi,
    I have executed many sql stmts patterns- such as:
    a) using a single table
    b) using two tables, using simple joins or outer joins
    but i have not noticed any difference in sql stmts in cost and in execution plan....
    Anyway, my colleague insists on that using aggregate function is less costly compared to
    distinct....(something i have not confirmed, that's why i beleive that they are exactly the same...)
    For the above reffered 1st sql pattern.. we could for example use
    select distinct deptno
    from emp
    select count(*), deptno
    from emp
    group by deptno select distinct owner, object_type from all_objects
    select count(*), owner, object_type from all_objects
    group by owner, object_typeHave you found any difference between the two ever...????
    Note: I use Ora DB 10g v2.
    Thank you,
    Sim

    distinct and aggregate function are for different uses and may give same result but if u r using aggregate function to get distinct records, it will be expensive...
    ex
    select distinct deptno from scott.dept;
    Statistics
    0 recursive calls
    0 db block gets
    2 consistent gets
    0 physical reads
    0 redo size
    584 bytes sent via SQL*Net to client
    488 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    4 rows processed
    select deptno from scott.emp group by deptno;
    Statistics
    307 recursive calls
    0 db block gets
    60 consistent gets
    6 physical reads
    0 redo size
    576 bytes sent via SQL*Net to client
    488 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    6 sorts (memory)
    0 sorts (disk)
    3 rows processed
    Nimish Garg
    Software Developer
    *(Oracle & ASP.NET)*
    Indiamart Intermesh Limited, Noida
    To Get Free Oracle & ASP.NET Code Snippets
    Follow: http://nimishgarg.blogspot.com

  • Facing problem while using aggregate functions.

    I am trying to use aggregate functions such as sum, count in my CQL query.
    It is not giving me an error but i am unable to get the correct output out of that.
    Query is:
    <?xml version="1.0" encoding="UTF-8"?>
    <wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application"
    xmlns:jdbc="http://www.oracle.com/ns/ocep/config/jdbc">
    <processor>
    <name>APL_EFW_CostEvent_Processor</name>
    <rules>
         <view id="CostEventView"
              schema="eventName eventType eventId opportunityStatusId opportunity_cost APL_Event_Inbound"><![CDATA[
                   SELECT      X.eventName, X.eventType,
                        X.eventId, X.opportunityStatusId,
                        X.opportunity_cost,X.APL_Event_Inbound
                        from APL_EFW_Master_Inbound_Channel
                        XMLTable (
                             '/' PASSING BY VALUE APL_EFW_Master_Inbound_Channel.APL_Event_Inbound as "."
                        COLUMNS
                             eventId char(256) PATH 'fn:data(Event/EventHeader/eventId)',
                             eventName char(256) PATH 'fn:data(Event/EventHeader/eventName)',
                             eventType char(256) PATH 'fn:data(Event/EventHeader/eventType)',
                                  opportunityStatusId char(256) PATH                               'fn:data(Event/ApplicationDataArea/opportunity/opportunity_details/opportunity_status)',
                                  opportunity_cost char(256) PATH                               'fn:data(Event/ApplicationDataArea/opportunity/opportunity_details/opportunity_cost)',
                                  APL_Event_Inbound xmltype path '/'
                        ) AS X
                   ]>
         </view>
    <query id="CostEventQuery">
              <![CDATA[
                   SELECT
                        XMLELEMENT("opportunity",
                             XMLELEMENT("cost_opportunity",
                                  XMLFOREST(X.opportunity_cost))) as APL_Event_Inbound
                             FROM CostEventView
                             MATCH_RECOGNIZE (
                             MEASURES
                                  A.opportunity_cost as opportunity_cost
                                  PATTERN (B A+) within 30000 milliseconds
                                  DEFINE
                                  A as sum(A.opportunity_cost)> 1000                    )
                        as X
              ]]>
              </query>
    </rules>
    </processor>
    </wlevs:config>
    The problem i am getting is when the value is getting compared with the opportunity cost rather than with the sum of oppCost
    A as sum(A.opportunityCost)>1000
    A as A.opportunityCost >1000
    Both the cases are treated as same .

    It would help if you could provide sample input data and associated output that illustrates the problem

  • EEM Syslog Pattern Capture

    Hello Community,
    Can someone please let me know if its possible to have a EEM script activated when particular word appears in a syslog.
    For the following is a syslog message:
    Sep 19 09:11:33.966: %HA_EM-2-LOG: utilisationHighInterfaceUtilization.tcl: 992&You are experiencing abnormally high traffic utilization |ifu|/15
    Would it be possible if have a EEM script activated when the word "high traffic utilization" from the above syslog message appears?
    I have tried with the following but it won't work.
    event manager applet toptalkers
    event syslog pattern "high traffic utilization"
    action 1.0 cli command "enable"
    action 1.5 cli command "show flow monitor FlowMonitor1 cache aggregate ipv4 protocol"
    action 4.0 mail server "10.44.xxx.xxx" to "[email protected]" from "[email protected]" subject "toptalkers." body "TopTalker Script $_cli_result"
    Cheers
    Carlton
    BTW, I will respond to the other questions I have posted on this forum.

    Hello Community,
    I figured out why it doesn't work.
    Its because the event isn't, technically speaking, a syslog event. Therefore, can someone please show me how to make the script work with the event as stated above:
    Sep 19 09:11:33.966: %HA_EM-2-LOG: utilisationHighInterfaceUtilization.tcl: 992&You are experiencing abnormally high traffic utilization |ifu|/15
    Cheers
    Carlton

  • Help on DAO pattern

    Hello!
    I'm having a problem implementing the DAO pattern.
    Suppose that I have two database tables:
    emp(id, name, sex, deptid)
    dept(id, name)
    If I follow the DAO pattern, I use two DAO interfaces, one for each
    table, and "entity". EmployeeDAO, and DepartmentDAO.
    (I'm using an abstract factory to create storage-specific DAOS)
    These DAOs return instances of Employee, and Department, or lists of them. (ValueObjects).
    This is all great and works very well, but suppose I want to produce the following
    presentation on the web:
    deptname | male | female
    Dept A   | 10   | 20
    Dept B   | 15   | 30In essense, this is a request for all the departments.
    I would iterate through this list, and want to display how many
    males, and how many females there are in each department.
    Should this be in the DepartmentDAO, or in a separate DAO?
    Or should this be put in some BusinessDelegate?
    That is, DepartmentDelegate.countMales(dept);
    Or should I put a method in the ValueObject Department that in turn uses the DAO to count males?
    Or should I load the number of females into the valueobject when fetching it from the
    database in the first place?
    Or should I construct a specialized view of the department such as:
    class StupidViewOfDepartment
       private Department dept;
       private int males;
       private int females;
       public StupidViewOfDepartment(Department dept, int males, int females){
       public int numFemales();
          return females;
       public int numMales(){
          return males;
    }...having some class return a collection of this specialized view?
    In that case, which class would that be?
    A new DAO or the DepartmentDAO?
    All classical examples of DAO patterns that I can find, fails to adress
    other issues than just retreiving a single Employee, or a list of them.
    Can someone advise me on this?

    You said:
    My problem might be, that the data I'm asking for, is not distinct objects, business objects,
    but a "new type of object" consisting of this particular information, that is
    deptname, numMales, numFemales.
    EXACTLY! You are querying for data that is either aggregate, a combination of various other business objects or a very large set of known business objects. In any of these cases, you probably don't want to use a vanilla DAO. Write a dedicated search DAO. Depending on your OO purity level and time horizon, you could make VO's for the search request or the results returned.
    You said:
    I'd like to think of this as report functionality, or aggregate reports.
    I'm good at database programming, and I'm particularly good at optimization,
    so if I cannot do this the good-looking way, I can always resort to brutal techniques...ehum
    PERFECT! If you are great at database operations, and you know exactly how you want to optimize a given search, then give it its own DAO. The main problem with the object->relational boundary is that most cookie-cutter solutions (ala entity beans with CMP) cannot even remotely appropach the optimization level of a good database programmer. If you want to optimize a search in SQL or a stored procuedure, do that. Then have a dedicated search DAO use that funcitonality. (If you want to do it "right", make a search Factory object that will return various implementations, some may be vendor-specific or optimized, others might be generic; the Factory simply returns a search DAO interface, while specific implementations can concentrate on the task at hand. Swapping implementations with the same interface should be trivial).
    - Saish
    "My karma ran over your dogma." - Anon

  • Best practices for JavaFX architecture and patterns?

    Hi,
    I want to write reusable, easy to maintain JavaFX code for a larger UI project and wonder what are the best practices doing so.
    1) Are there preferred UI patterns? MVC, MVP, Presentation Model, ...?
    2) Does it make sense to use FXML to separate View from Logic? Or should I use 2-3 Java classes instead (one for View, one for Logic, one for Domain Model, depending on the pattern)
    3) How to organize all the views? Should I use Dependency Injection? Or Singletons for each view? Spring or Guice framework, if at all?
    Currently I use singletons for most views, so that I can use them from anywhere in my application. If a window is closed and opened again, I use the same instance for that, which still resists in memory.
    For patterns, I try to lean on Presentation Model, since this is what I know from Flex development: Having a View layer, which contains all the UI stuff and an abstract view layer, which holds properties, that describe the View, e.g. submitButtonDisabledProperty. The View knows the abstract layer (Presentation Model), but not vice versa and the UI elements are bound to its properties.
    I am unsure if this is appropriate for JavaFX, too (for Flex or Silverlight it is).
    What are your recommendations / experiences for large UI projects?

    You are correct that in 'pure' MVP the View should know as little about it's presenter implementation as possible. The view should just notify one or more 'listeners' that something has happened.
    You can use event listeners for this, but I would highly recommend not exposing your Control-specific GUI events and instead create your own. So for example, don't expose ActionEvent or MouseEvent as these expose too much detail about your View's implementation, instead create 'semantic' events, so you might have something like 'sayHelloRequested' or 'printOptionSelected' (whatever naming system you want). This hides how the option is implemented, so you might have a 'print' button, a 'print' menu option, a CTRL+P print shortcut, or a double tap anywhere on your screen to print. The listener knows only that the view thinks 'print was requested by the user' - decoupling achieved.
    Once you start doing this however you end up with an explosion of event listener interfaces. So say a view has 10 callbacks it wants to notify about, then you end up with 10 interfaces, and if you're being really pure you also end up with 10 'Event' beans (or DTOs) to encapsulate the details of that event. It starts to get ungainly even for a semi-purist like me. So the logical progression from there is usually just to define all 10 callbacks in one interface and call it something like MyViewListener.
    There are two common ways to implement listeners, the traditional way is to allow an arbitrary number of listeners to be added. Whereas another option is to allow only a single listener to be added. In JFX you will notice that Button for example has a setOnAction() method not a addOnAction() method - it allows a single event handler only and let's face it this is generally fine in 95% of cases. For the remaining 5% you can just write your own aggregate event handler that dispatches the event to multiple listeners.
    So if we go down the road of single event listeners, using an interface for all of the callbacks and not bothering with full 'Event' objects, you end up with something like this:
    public interface MyViewListener {
        void printRequested();
        void doSomething(int someParam);   
        void doSomethingElse(String someOtherParam);   
    }And if you look closely at the 'Purist' option in my MVP pattern where I define interfaces for everything, then you will see that this is pretty much the exact interface I've created for the 'Presenter'. You could just as easily rename this interface to MyViewListener in this pattern and have the same outcome.
    So to wrap all that up, yes, the Presenter should be decoupled and I highly favour the 'purist' option in my blog and would definitely use it if FXML didn't dictate a impure design pattern (there are some ongoing discussions about this on the OpenJFX discussion group). And, yes, my 'purist' option could be even more pure if you went for the full-blown event callback model and if you go down that road you will have an extremely clean architecture but also an extremely large code-base - totally your call whether it's worth it.
    It's also worth remembering in all this, that there are a lot of people from a lot of different backgrounds using JFX and some people hate (passionately) even my semi-pure option - especially those coming from other, less heavy-weight languages. They just don't get why you wouldn't build it all into one class and reduce the overheads. So what you have in my blog is my thoughts on it, other people will most definitely differ. I'm a big fan of developer's choice, and that's why I did the smorgasboard approach even though I personally would never use some of those implementations.
    Also this video on GWT is an awesome reference on GUI design patterns: http://www.youtube.com/watch?v=PDuhR18-EdM
    JFX Flow draws a lot from GWT as I think it is a very clean architecture (just such a shame that they put all that effort into hiding the horrid, sordid mess that is the web+html+css, instead of making something proper, like JFX).
    Hope that helps,
    zonski

  • Does the Builder pattern really need a Director?

    A Builder knows how to construct the various parts of an aggregate, while a Director knows the order in which they should be constructed. Wikipedia illustrates this pattern with a PizzaBuilder example:
    http://en.wikipedia.org/wiki/Builder_pattern
    I find it difficult to understand why one would not move the constructPizza() method (including its implementation) of Waiter (the Director) to PizzaBuilder (the abstract Builder), bypassing Waiter altogether:
    PizzaBuilder hawaiianPizzaBuilder = new HawaiianPizzaBuilder();
    hawaiianPizzaBuilder.constructPizza();
    Pizza pizza = hawaiianPizzaBuilder.getPizza();Why is it so important to separate the how from the order? To me it looks like having a separate Director class makes things just more complicated without having real benefits.

    Thank you for your reply. Are you suggesting that
    real-world applications have several Directors that
    differ in the order of construction? I just got
    myself the GoF book and it speaks about just one
    Director, which repeats the same construction
    process, independent of the concrete builder passed
    to it.If you look at the Consequences, list item 2 it states:
    "..then different Directors can reuse it to build Product variants from the same set of parts. In the earlier RTF example, we could define a reader for a format other than RTF, say, an SGMLReader, and use the same TextConverters..."
    Note that in the example the Reader is the Director and the TextConverter is the Builder.
    The point of this pattern is to separate the code that knows what to do and the code that knows how to do it so that they can be combined indpendently.
    Suppose you were writing a tool that could take XML or database rows and create a Swing GUI. Let's say you are also asked to take that XML and those database rows and create a web page.
    If you combine the code that reads the input with the code that reads the output, you end up writing the xml reader twice, the database reader twice, the swing builder twice, and the web page builder twice. Then consider what happens if you need a third input format or more output formats.
    I was thinking of using this pattern to create a
    custom JTree in subsequent steps: 1) create the nodes
    from a database, 2) create the tree model, 3) create
    the tree. Right now everything happens in my JTree
    constructor, which doesn't feel right since it's just
    a GUI component. Would that be appropriate? I only
    have one concrete builder now, so it seems a bit too
    much.I would remove any knowledge of the database from your gui component. This doesn't require more code and it won't make things more complicated. I think you'll find that once you have done it, it will make things a lot easier to understand and work on. The idea that every Object should have a single responsibility is poorly defined but is, in my opinion, a very good way to think about your designs.

  • Query reads directly from aggregates? / BW statistics

    Hi,
    Query reads directly from aggregates? / BW statistics
    1.
    How do you “switch on BW statistics collection” for a Cube?
    And what is the signification on switching this statistics on?
    2.
    In selecting an infoprovider for query a to read against, do we select a cube and the cube automatically reads from the cube’s aggregates or
    can the query be defined to read directly from the aggregates?
    If the answer is to run the report against a cube, then how do we direct the query to read from the aggregate of the cube instead of the cube?
    Thanks

    How do you “switch on BW statistics collection” for a Cube?
    And what is the signification on switching this statistics on?
    Go to RSA1 - info provider tree and on menu - tools - BW statistics for info provider. Click that and you will get a pop up of all providers and check the boxes "OLAP or WHM"  The signifinfance of this, is when you collcect statistics, and run reports out of  BW statistics cubes, you can monitor load and reporting performance and also navigational patterns of reports by users.
    In selecting an infoprovider for query a to read against, do we select a cube and the cube automatically reads from the cube’s aggregates or
    can the query be defined to read directly from the aggregates?
    NO. We dont set it.The OLAP will use aggregate if it finds anything suitable.
    Ravi Thothadri

  • Many To Many relationship, Distinct Aggregate issue

    Hi, 
    I need some help pleeeaaase... 
    Ok, so i'm implementing a GL cube, and i have a bunch of accounts which can be aggregated to different levels of a parent child hierarchy, because i'm using a parent child hierarchy SSAS does a distinct "sum" to the Fact table, and so my Totals
    get a bit messed up... 
    So, i've tried looking for way to turn off this feature, but couldn't find one.
    The alternative which i'm also stuck on, which is to create a member which goes to the child level, for each total, and re-aggregates ALL the values that are there.
    I seem to have created a member in an MDX query that works perfectly... yay!, BUT when i put this into a calculated member... well it goes pear shaped, and i can't understand how it arrives at the number.. 
    Please shout if my explanation is a bit sketchy..
    Here is the code.
    MDX Query....
    WITH MEMBER [Measures].CurrentBalanceActualDecendants
    AS 
    SUM(
                           EXCEPT(
                                      DESCENDANTS([Dimension Report Detail].[Finance Report Hierachy].CurrentMember, 2, BEFORE),
                                      [Dimension Report Detail].[Finance Report Hierachy].CurrentMember
                         [Measures].[Current month Actual]
    MEMBER [Measures].[BalanceTestc]
    AS( IIF (
                         [Measures].CurrentBalanceActualDecendants = 0, 
                         [Measures].[Current month Actual],
                         [Measures].CurrentBalanceActualDecendants
    SELECT {[Measures].[Current month Actual],
    [Measures].[BalanceTestc]}
    on 0
    DESCENDANTS([Dimension Report Detail].[Finance Report Hierachy].&[4], 3, BEFORE)
    --[Dimension Report Detail].[Finance Report Hierachy].Allmembers
    )on 1
    FROM [opfinanceGLTransaction]
    WHERE { [Dimension Snapshot].[Date Value].&[2014-06-30T00:00:00],
    [Dimension Snapshot].[Date Value].&[2014-05-31T00:00:00],
    [Dimension Snapshot].[Date Value].&[2014-04-30T00:00:00],
    [Dimension Snapshot].[Date Value].&[2014-03-31T00:00:00],
    [Dimension Snapshot].[Date Value].&[2014-02-28T00:00:00],
    [Dimension Snapshot].[Date Value].&[2014-01-31T00:00:00]
    CALCULATED Measure.......
    CREATE MEMBER CURRENTCUBE.[Measures].[Current Month Actual]
     AS IIF(
                         [Measures].CurrentmonthActualDecendants = 0, 
                         [Measures].[Balance],
                         [Measures].CurrentmonthActualDecendants
    VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'Fact GL Transaction';   
    CREATE MEMBER CURRENTCUBE.[Measures].CurrentmonthActualDecendants
     AS AGGREGATE(
                           EXCEPT(
                                      DESCENDANTS([Dimension Report Detail].[Finance Report Hierachy].CurrentMember, 2, BEFORE),
                                      [Dimension Report Detail].[Finance Report Hierachy].CurrentMember
                         [Measures].[Balance]
    VISIBLE = 1 ,  ASSOCIATED_MEASURE_GROUP = 'Fact GL Transaction';        

    Have you seen the "Multiple Parent-Child Hierarchies" design pattern in this paper:
    http://www.sqlbi.com/articles/many2many/
    I'm wondering whether you really need such MDX.
    Marco Russo (Blog,
    Twitter,
    LinkedIn) - sqlbi.com:
    Articles, Videos,
    Tools, Consultancy,
    Training
    Format with DAX Formatter and design with
    DAX Patterns. Learn
    Power Pivot and SSAS Tabular.

  • Aggregate Compression - how many requests to keep uncompressed

    I'm creating a new aggregate for one of my InfoCubes and I am filling it right now.  I'm working on adding the rollup operation to my process chain and I notice that by default, the rollup operation will compress the requests in the aggregate, and you can specify a certain number of requests in the aggregate that you want to leave uncompressed in case they need to be backed out.
    What is a standard/good practice for how many requests you should leave uncompressed in the aggregate for a daily delta load?  Is a week's worth a good number?  A month?
    For that matter, should this number match how many requests you leave uncompressed in the InfoCube as well?
    I want to be careful about this as I see the documentation says that if you need to back out a compressed request from an aggregate you have to empty and refill the aggregate all over again.
    Thanks,
    Chris

    For an aggregate you rarely backout Requests, consider letting it compress everything in the aggregate. This eliminates the need for a query on the F aggregate altogether.  If the time it takes to refill it is a major concern, then leave a week, or whatever is the likely window for something to be backed out, uncompressed.
    If the base cube is compressed regularly and has just a couple of weeks of uncompressed Requests, then maybe its easier to just follow that pattern. There is always something to be said for not making things more complicated than they need to be.
    Pizzaman

  • 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.

  • Which Pattern

    I have a class called Classifier that takes in a list of Classification Objects and aggregates them to the highest classification. What I am running into is picking the best pattern to write this class with.
    My Classifier Object is basically a filter, it takes in a Collection of Classification Objects and then returns a single Classification object representing the highest classification from that Collection. Its business logic is determined by a web service call, so this class contains no business rules. Its basically a facade to the web service.
    ie:
    Highest Importance -------- \
    Important -------------------- \ __ Classifier __ ------- Highest Importance
    Not Important ---------------- /          ^
    General Use ---------------- /            |
                                              |
                                              v
                                          Web serviceI am wondering what is the best Pattern to use when creating this Classifier class as it has the potential to be used on every page ( right now, its only used in two modules ). As I have it coded at the moment, it is a singleton, but think that this could cause a bottleneck if we use it on every page.
    Any suggestions would be greatly appreciated.
    Thanks!

    deeeeeean0hhh wrote:
    endasil wrote:
    deeeeeean0hhh wrote:
    Already written... just looking to optimizeI hope you meant "refactor." In which case, only refactor if the current code smells.No, I meant optimize. It works, I just want to use a well known and tested structure if/when it scales up. I dont want to create code that works only to find out it is the cause of a bottleneck when we scale itWell, that's pretty low down on the list of priorities for a successful design pattern. Higher priorities are maintainability, standardization, correctness, low coupling, high cohesion, no duplication, etc, etc. Performance almost always takes a back seat when it comes to design patterns. In other words, there's almost always a faster way to do something than a pattern suggests, as they are generalizations. With generalization comes a lack of specialization (by definition) and therefore a lack of being able to precisely design a solution for a given problem. And that's all fine, because usually one approaches using a pattern from a position of wanting one of the above qualities, not performance.

  • Index's on cubes or Aggregates on infoobjects

    Hello,
    Please tell me if it is possible to put index's on cubes; are they automatically added or is this something I put on them?
    I do not understand index's are they like aggregates?
    Need to find info that explains this.
    Thanks for the hlep.
    Newbie

    Indexes are quite different from aggregates.
    An Aggregate is a slice of a cube which helps the data retrival on a faster note when a query is executed on a cube. Basically it is kind of a snapshot of KPI's and Business Indicators (Chars) which will be displayed as the initial query run result.
    Index is a process which is inturn will reduce the query response time. While an object gets activated, the system automatically create primary indexes. Optionaly, you can create additional index called secondary indexes.Before loading data, it is advisable to delete the indexes and insert them back after the loading.
    Indexes act like pointers for quickly geting the Data.When u delete it will delete indexes and when u create it will create the indexes.
    When loading we delete Bcs during loading it has to look for existing Indexes and try to update so it will effect the Data load performence so we delete and create it will take less time when compared to updating the existing ones.
    There is one more issue we have to take care if u r having more than 50 million records this is not a good practice insteah we can delete and create during week end when they r no users.

Maybe you are looking for

  • K9N Platinum Digital Coaxial Out

    I am having an extreme amount of trouble with my K9N Platinum trying to get the SPDIF Digital Coaxial Out to work.  In the Realtek HD Audio Manager the slider for SPDIF is not there; I'm not even able to adjust it.  In the regular windows volume mana

  • When I try to select 'Manually manage music and videos' option?

    I know to manually manage songs/videos on itunes, i need to select the 'Manually manage music and videos' box under my iPhone 5S summary tab. However, when I check that box and click apply, this message pops up: http://prntscr.com/248mwn (this is a s

  • Where to get a full fresh download of Reader?

    I had Adobe Reader 8.1 (or similar) and decided to upgrade to 9.3.4.  I downloaded it and ran the .exe file.   It seemed to run fine, but there was no effect.  Acrobat 8.1 was still loaded and used every time I opened a .pdf file. I tried several tim

  • Can' able to change my proxy settings in Internet Options

    Few days ago my LAN proxy settings in Internet Options>Connection tab changed and I can't able to revert the changes. It set to HTTP: 127.0.0.1:8080 Secure: 127.0.0.1:8080 A message at the bottom displays "Some settings are managed by your system adm

  • How long does it take for the installer to work?

    I recently got a new computer with Windows 8 and installing Firefox doesn't seem to be in the cards for it. I've let it sit for 20-30, even 40 minutes at a time and it's STILL on the loading screen. Is there anything I can do to make this work? Thank