Java 2EE and XML Development

Скачать в pdf «Java 2EE and XML Development»


Before walking through an example, note that flexibility and performance are two of the key design goals from chapter 1. Since message level integration is the fastest and most flexible type of integration, we suggest you use it whenever possible. This would make your life much easier if it were not for synchronous interaction requirements. If your application must obtain or update remote data in real-time for whatever reason, message level integration goes out the window.


To demonstrate how constraint-based modeling works, let us consider the following example. Say we are building an e-commerce application in J2EE and have a requirement to obtain the most current pricing for each customer from our enterprise ERP system whenever a customer begins to make a purchase. Furthermore, we know that the ERP system does not store prices statically for each customer, but performs a complex calculation to arrive at a unit price for each product. This procedure requires data that is otherwise irrelevant to our e-commerce application, and reproducing it on our side is infeasible.


This requirement adds a constraint to our integration model; interaction must be synchronous. This eliminates message level interaction and leaves us with data, procedure, and object level options. Now we inspect the documentation for the ERP system and note that it exposes a set of RPCs that can be used to obtain customer pricing, but does not support CORBA or any other object architecture. We are now down to procedure and data level integration options. Data level integration is infeasible, because it is the pricing algorithm itself to which we need access in the ERP system, not the data upon which it operates.

Скачать в pdf «Java 2EE and XML Development»