Chapter 2. Architecture 43
document to get the customer details. It uses these details to create the request
object (a byte buffer or a SQL Statement or even a XML document) that is used
by a J2C connector to connect to and execute a back-end transaction.
EIS components
The EIS component is a facade into any one of the EIS integration components.
The EIS component does not use a J2C connector or a DataSource directly.
Rather, it delegates a request from the EIS system process to one of its
integration components to handle the back-end system integration. See
Figure 2-10 on page 47 for a detailed view of the EIS component and its EIS
integration components in context to the structural view of the logical
architecture.
Note: Ideally, feature classes must be at a granular level that enables and
supports re-use of feature classes. Typically, you have a feature class for
every back-end transaction to create the request byte buffer and to handle the
response byte buffer from the back-end transaction. However, you can
potentially have one feature class supporting many back-end transactions or
many database transactions.
For example, you could have a JDBC feature class that performs multiple
database transactions. While this scenario is not a problem, consider that
other projects or developers might want to re-use some of your feature
classes in their development efforts. If your feature does many things, instead
of one thing, chances are good that your feature class is not re-usable across
projects or other use case implementations by other developers.
As an example, decide how you would implement the following scenario. You
must get the details of a branch or center, and you must get the description of
a product. You need to get this data in a business process for one of your use
cases. You can implement the feature(s) this way:
???? One feature class that performs two SQL queries
???? Two feature classes, each performing only one SQL query, one against the
branch or center table and the other against the product descriptions table
Both implementation options have benefits and drawbacks, depending on
which way you look at it (developer role versus enterprise architect versus
business executive). Think of performance versus re-use and so on.
Be aware that you do have choices when you design and implement your
feature classes. Consider not only the standards and principles of your
project, but also what your organization or customers’ standards and
principles are, specifically considering re-use of components across projects
and development teams.