Do Not Remote Application Logic Unless You Need To
Posted on 2004-07-20 13:14 LeeCheng 阅读(301) 评论(0) 编辑 收藏 举报
Do not physically separate your business logic layer unless you need to and you
have evaluated the tradeoffs. Remote logic can increase performance overhead.
Performance overhead results from an increased number of round trips over the
network with associated network latency and serialization costs.
However, you might need to physically separate your business layer, as in the
following scenarios:
● You might want to collocate business gateway servers with key partners.
● You might need to add a Web front end to an existing set of business logic.
● You might want to share your business logic among multiple client applications.
● The security policy of your organization might prohibit you from installing
business logic on your front-end Web servers.
● You might want to offload the processing to a separate server because your
business logic might be computationally intensive.
If you do need a remote application layer, use design patterns that help minimize
the performance overhead. For more information, see “Communication,” later in
this chapter.
have evaluated the tradeoffs. Remote logic can increase performance overhead.
Performance overhead results from an increased number of round trips over the
network with associated network latency and serialization costs.
However, you might need to physically separate your business layer, as in the
following scenarios:
● You might want to collocate business gateway servers with key partners.
● You might need to add a Web front end to an existing set of business logic.
● You might want to share your business logic among multiple client applications.
● The security policy of your organization might prohibit you from installing
business logic on your front-end Web servers.
● You might want to offload the processing to a separate server because your
business logic might be computationally intensive.
If you do need a remote application layer, use design patterns that help minimize
the performance overhead. For more information, see “Communication,” later in
this chapter.