⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lib0023.html

📁 j2ee架构师手册
💻 HTML
字号:
<html>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head>
<title>Chapter 4: Designing External Application Interfaces</title>
<link rel="STYLESHEET" type="text/css" href="images/xpolecat.css">
<link rel="STYLESHEET" type="text/css" href="images/ie.content.css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td><div STYLE="MARGIN-LEFT: 0.15in;"><a href="toc.html"><img src="images/teamlib.gif" width="62" height="15" border="0" align="absmiddle"  alt="Team LiB"></a></div></td>
<td align="right"><div STYLE="MARGIN-LEFT: 0.15in;">
<a href="LiB0022.html"><img src="images/previous.gif" width="62" height="15" border="0" align="absmiddle" alt="Previous Section"></a>
<a href="LiB0024.html"><img src="images/next.gif" width="41" height="15" border="0" align="absmiddle" alt="Next Section"></a>
</div></td></tr></table>
<br>
<div class="chapter">
<a name="ch04"></a>
<h1 class="chapter-title"><span class="chapter-titlelabel">Chapter 4: </span>Designing External Application Interfaces</h1><div class="section">
<h2 class="sect2-title">
<a name="98"></a>Overview</h2>
<a name="99"></a><a name="IDX-33"></a>
<div class="highlights">
<p class="first-para">It is common for a J2EE application to communicate with external applications. For example, a purchasing application may notify an accounting application of all purchases, or an inventory management application may notify an accounting application of all inventory receipts and customer shipments. A technical architect is responsible for the design of application interfaces as well as the application itself. This chapter describes how to define external application interfaces in enough detail that both the J2EE and external applications will have the information needed to perform design and implementation tasks.</p>
<p class="para">If your J2EE application programmatically initiates processing in external applications, you should identify those applications as actors in the use-case analysis, as discussed in <a href="LiB0010.html#59" target="_parent" class="chapterjump">chapter 2</a>. All specifics about the information transferred between the J2EE application and the external applications should be the subject of one or more use cases. For example, the fact that a purchasing system notifies the accounting system about all orders placed should be the subject of a use case.</p>
<p class="para">Use cases for an external application interface should identify the events that trigger use of the interface as well as the information passed for each event. For example, consider the following use case:</p>
<p class="para">
<a name="100"></a><a name="IDX-34"></a>The inventory system will notify the accounting system about all inventory receipts.</p>
<ul class="itemizedlist">
<li class="first-listitem">
<p class="first-para">Notification will occur immediately after the receipt is recorded.</p>
</li>
<li class="listitem">
<p class="first-para">Notification will include the vendor ID and timestamp for each receipt as well as the UPC and quantity for each item in the shipment.</p>
</li>
<li class="listitem">
<p class="first-para">Confirmation of the notification is required from the accounting system.</p>
</li>
</ul>
<p class="para">Formally define and document the external interfaces so that developers from both applications have a basis for object-modeling activities (described in <a href="LiB0038.html#184" target="_parent" class="chapterjump">chapter 6</a>). The technical architects for both applications need a basis for their modeling and implementation activities. Further, the project manager needs a contract between your development group and the external system developers that describes everyone's responsibilities.</p>
<p class="para">The following aspects of external interfaces should be discussed with the external teams and agreed on among the teams:</p>
<ul class="itemizedlist">
<li class="first-listitem">
<p class="first-para">Communication method</p>
</li>
<li class="listitem">
<p class="first-para">Data content structure</p>
</li>
<li class="listitem">
<p class="first-para">Triggering events for content exchange</p>
</li>
<li class="listitem">
<p class="first-para">Error-handling procedures and responsibilities</p>
</li>
</ul>
<p class="last-para">
<b class="bold">The technical architect should facilitate interface design discussions.</b> Part of the role of facilitator is keeping the discussions limited to the topics just listed. The internal design of either application is largely irrelevant to this discussion. The platform used by the external application is relevant because it could affect the ability of the J2EE application to use some communication methods. For example, if the external application is not written in Java, the J2EE application cannot use any form of communication that uses RMI, such as enterprise beans.</p>
</div>
</div>
</div><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td><div STYLE="MARGIN-LEFT: 0.15in;"><a href="toc.html"><img src="images/teamlib.gif" width="62" height="15" border="0" align="absmiddle"  alt="Team LiB"></a></div></td>
<td align="right"><div STYLE="MARGIN-LEFT: 0.15in;">
<a href="LiB0022.html"><img src="images/previous.gif" width="62" height="15" border="0" align="absmiddle" alt="Previous Section"></a>
<a href="LiB0024.html"><img src="images/next.gif" width="41" height="15" border="0" align="absmiddle" alt="Next Section"></a>
</div></td></tr></table>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -