standard_003.html

<html>
<style>
table{background-image:none;background:#ffffff;font-family:arial,helvetica,sans-serif,kanji2;font-size:10pt;}
.stepHeading,pre{background-color:#ffffff;color:#293d6b;font-family:arial,helvetica,sans-serif,kanji2;font-size:10pt;font-weight:bold;padding-bottom:2px;padding-left:2px;padding-top:2px;text-decoration:none;border-top:1px dotted#cccccc;}
.thed{ border-bottom:windowtext 0.5pt solid;border-left:windowtext;background-color:#33cccc;border-top:windowtext 0.5pt solid;border-right:windowtext 0.5pt solid; }
.tdcontext{ border-bottom:windowtext 0.5pt solid;border-left:windowtext;background-color:transparent;border-top:windowtext;border-right:windowtext 0.5pt solid; }
</style>


<body>
<div>
<h2>Application Layer Checklist </h2>
<pre>
    <span style="color: #009900">[MANDATORY]</span> Only application specific (non-business) functionality is located within the application layer. 
    <span style="color: #009900">[MANDATORY]</span> All logic requirements are decomposed into a number of loosely-coupled, highly-cohesive application services.
    <span style="color: #009900">[MANDATORY]</span> All services within this layer expose a public API which can be called by the presentation layer components or other application services.  
    <span style="color: #009900">[MANDATORY]</span> All service interaction is through well-defined public APIs, and never directly with any service implementation.   
    <span style="color: #009900">[MANDATORY]</span> Services and APIs within this layer are not called from the service, integration or data access layers.  
    <span style="color: #009900">[MANDATORY]</span> Caches, where required, are implemented using the Cache Decorator Pattern.   
    <span style="color: #009900">[MANDATORY]</span> Service implementations within the application layer do not have any dependencies on the presentation layer(s).   
        Note that callback mechanisms may be employed, but the exposed callback API is actually provided by the caller and implemented by the callee.  This ensures that the presentation layer isn't being called directly, and the dependency tree doesn't contain circular references.
</pre>
</div>
<div>
<h2>Data Access Layer (DAL) Checklist</h2>
<pre>
    <span style="color: #009900">[MANDATORY]</span>Only data access services are exposed by the data access layer; only data access requirements is handled by the layer.  
    <span style="color: #009900">[MANDATORY]</span>All data access reuqirements are decomposed into a number of loosely-coupled, highly-cohesive DAOs based on the modelled data sources.  
    <span style="color: #009900">[MANDATORY]</span>All DAOs expose a data access API which is only called by business services in the service layer.  
    <span style="color: #009900">[MANDATORY]</span>All interaction with this layer is through public data access APIs, and not directly with any DAO implementation.  
    <span style="color: #009900">[MANDATORY]</span>DAOs never call application or business services in the layers above, nor does it interact with the integration and presentation layers.  
    <span style="color: #009900">[MANDATORY]</span>Caches, where required, are implemented using the Cache Decorator Pattern.  
</pre>
</div>
<div>
<h2>Integration Layer Checklist</h2>
<pre>
    <span style="color: #009900">[MANDATORY]</span>The integration layer doesn't provide any application or business services; it implements business service APIs only to provide remote access to those services.  
    <span style="color: #009900">[MANDATORY]</span>Integration layer components are never called directly; access is always via a business service API.  
    <span style="color: #009900">[MANDATORY]</span>Integration components are dependenct on service layer APIs, and never on other components or services with the service layer.  
    <span style="color: #009900">[MANDATORY]</span>Integration components do not have any dependencies on either the presentation, application or data access layers.  
    <span style="color: #009900">[MANDATORY]</span>Use of the integration layer must be invisible to the client of the APIs beign adapted by the integration layer.  
    <span style="color: #009900">[MANDATORY]</span>The integration layer is a technical implementation layer, which does not provide any form of application or business logic.  
    <span style="color: #009900">[MANDATORY]</span>Caches, where required, are implemented using the Cache Decorator Pattern in either the application or service layers.  
    <span style="color: #009900">[MANDATORY]</span>(ES) Host Adapter is used for all integration layer implementations.  
</pre>
</div>
<div>
<h2> Presentation Layer Checklist </h2>
<pre>
    <span style="color: #009900">[MANDATORY]</span> The presentation layer does not contain any data processing or business logic.  
    <span style="color: #009900">[MANDATORY]</span> The presentation layer does not directly interact with the integration or data access layers.  
    <span style="color: #009900">[MANDATORY]</span> The presentation layer interacts with services in the application and service layers only.  
    <span style="color: #009900">[MANDATORY]</span> All service interaction is through well-defined public APIs, and never directly with any service implementation.  
    <span style="color: #009900">[MANDATORY]</span> The presentation layer doesn't cache any data returned by the application and/or service layers.  
    <span style="color: #009900">[MANDATORY]</span> Execution Services Request Processing is used to handle all incoming requests.  
    <span style="color: #009900">[MANDATORY]</span> All request processing is undertaken in the context of page-flow.  
    <span style="color: #009900">[MANDATORY]</span> All events follow the event naming standards, including those events returned by processors.  
    <span style="color: #009900">[MANDATORY]</span> All processors are designed such that they undertake only a single atomic unit of work.  
    <span style="color: #009900">[MANDATORY]</span> Processor design uses instance variables to store configuration items only; all processors are stateless and reentrant.  
    <span style="color: #009900">[MANDATORY]</span> Processor design uses only persistent and transient work context, irrespective of the use of page-flow.  
    <span style="color: #009900">[MANDATORY]</span> With the exception of key data within the persistent work context, the presentation layer never caches or stores any other data.  
    <span style="color: #009900">[MANDATORY]</span> The presentation layer's data model(s) never contains invalid data; invalid data provided by the user is caught by the form processing or JHX components.  
    <span style="color: #009900">[MANDATORY]</span> All request processing is separated into two phases: action (request processing) phase, and render (response processing) phase.  
This applies irrespective of the channel.

    <span style="color: #009900">[MANDATORY]</span> The render event mapping configuration must be used to identify the render phase with the overall request processing lifecycle.  
This applies irrespective of the channel.


    <span style="color: #009900">[MANDATORY]</span> Data is supplied to the JSP through one or more form and/or view beans.  
    <span style="color: #009900">[MANDATORY]</span> The JSP is written using the ES JHX components.  
Exception: ES 5.x series applications, or 5-series applications which have subsequently been migrated into ES 6-series, are permitted to use raw HTML, with JTSL and the ES form processing tag libraries.


    <span style="color: #009900">[MANDATORY]</span> All input data is processed, validated and converted into a single form bean using ES JSF integration components.  
Exception: ES 5.x series applications, or 5-series applications which have subsequently been migrated into ES 6-series, are permitted to use ES Form Processing.


    <span style="color: #009900">[MANDATORY]</span> All localization enhancements are supported and implemented providing full localization/bundle support.  
Applications are permitted to provide and implement only a single core langauge (usually English, en_gb or en_us).
    <span style="color: #009900">[MANDATORY]</span> Error handling is undertaken in a common manner, using the published guidelines.  
     <span style="color:#009900">[Recommended]</span> The presentation layer contains only a single front-controller, with some permitted exceptions.  
The only permitted exceptions are where additional front-controllers are being used to support file upload/download and co-existence strategies with different version of the ES framework.


     <span style="color:#009900">[Recommended]</span> The presentation layer's data model(s) resuses object(s) exposed by the application and/or service layers.  
     <span style="color:#009900">[Recommended]</span> Cross-field validation is undertaken by a processor that accepts the field-level validated form bean, undertakes cross-field validation and throws the appropriate exceptions.  
     <span style="color:#cc9900">[Permitted]</span> Cross-field validation is undertaken by implementing the Validatable interface on the form bean.  
Acceptable only where ES form processing is being used; only in ES 5.x series applications, and ES 5.x series code which has subsequently been migrated into ES 6.x.


     <span style="color:#cc9900">[Permitted]</span> Data is supplied to the JSP through one or more form and/or view beans, flattened into an ES view map.  
Permitted only where ES form processing is being used in conjunction with the form processing tag library.
</pre>
</div>
<div>
<h2> Service Layer Checklist </h2>
<pre>
     <span style="color: #009900">[MANDATORY]</span> Only business process (as opposed to application specific or data access) functionality is located within the service layer.  
     <span style="color: #009900">[MANDATORY]</span> All logic requirements are decomposed into a number of loosely-coupled, highly-cohesive business services.  
     <span style="color: #009900">[MANDATORY]</span> All services within this layer expose a public API which can be called by the presentation or application layer components or other business services.  
     <span style="color: #009900">[MANDATORY]</span> All service interaction is through well-defined public APIs, and never directly with any service implementation.  
     <span style="color: #009900">[MANDATORY]</span> Services and APIs within this layer are not called from the integration or data access layers.  
     <span style="color: #009900">[MANDATORY]</span> Caches, where required, are implemented using the Cache Decorator Pattern.  
     <span style="color: #009900">[MANDATORY]</span> Service implementations within the service layer do not have any dependencies on the presentation and application layers.  
Note that callback mechanisms may be employed, but the exposed callback API is actually provided by the business service (caller) and implemented by the callee.  This ensures that the presentation or application layer isn't being called directly, and the dependency tree doesn't contain circular references.
</pre>
</div>
<div>
<table>
<thead><tr class="thed"><th colspan="2">Bloom's Level Cell</th><th>Learner</th><th>Proficient</th><th>Professional</th></tr></thead>
<tr><td>1</td><td>Knowledge</td><td>40%</td><td>30%</td><td>15%</td></tr>
<tr><td>2</td><td>Comprehension</td><td>40%</td><td>25%</td><td>20%</td></tr>
<tr><td>3</td><td>Application</td><td>10%</td><td>25%</td><td>35%</td></tr>
<tr><td>4</td><td>Analysis</td><td>10%</td><td>20%</td><td>30%</td></tr>
<tr><td></td><td>Total</td><td>100%</td><td>100%</td><td>100%</td></tr>
</table>
</div>
<div>
<h3>Notepad++ v6.3 plugin</h3>
<table>
<thead><tr class="thed"><th>Plugin</th><th>URL</th></tr></thead>
<tr><td>AnalysePlugin</td><td>http://analyseplugin.sourceforge.net/</td></tr>
<tr><td>Compare</td><td>http://sourceforge.net/projects/npp-compare/</td></tr>
<tr><td>Customize Toolbar</td><td>http://sourceforge.net/projects/npp-customize/</td></tr>
<tr><td>Explorer</td><td>http://sourceforge.net/projects/npp-explorer/</td></tr>
<tr><td>HTML Tag</td><td>http://sourceforge.net/projects/npp-plugins/files/HTMLTag/</td></tr>
<tr><td>JSLint</td><td>http://sourceforge.net/projects/jslintnpp/</td></tr>
<tr><td>JSMin</td><td>http://sourceforge.net/projects/jsminnpp/</td></tr>
<tr><td>MIME Tools</td><td>http://download.tuxfamily.org/nppplugins/MimeTools/</td></tr>
<tr><td>Converter</td><td>http://download.tuxfamily.org/nppplugins/Converter</td></tr>
<tr><td>NppExport</td><td>http://sourceforge.net/projects/npp-plugins/files/NppExport/</td></tr>
<tr><td>NppFTP</td><td>http://sourceforge.net/projects/nppftp/</td></tr>
<tr><td>Json Viewer</td><td> http://nppjsonviewer.sourceforge.net/</td></tr>
<tr><td>NppJumpList</td><td>http://sourceforge.net/projects/nppjumplist/</td></tr>
<tr><td>Plugin Marker Margin</td><td></td></tr>
<tr><td>Plugin Manager</td><td>http://sourceforge.net/projects/npppluginmgr/</td></tr>
<tr><td>RegRexPlace</td><td>http://f0dder.dcmembers.com/nppplugs/npp_plugins.zip</td></tr>
<tr><td>ReloadButton</td><td>http://www.jhaefner.de/Download/ReloadButton.zip</td></tr>
<tr><td>Spell-Checker</td><td>http://sourceforge.net/projects/npp-plugins/files/Spell-Checker/</td></tr>
<tr><td>Tidy2</td><td>https://code.google.com/p/npp-tidy2/</td></tr>
<tr><td>Xbrackets Lite</td><td>http://sourceforge.net/projects/npp-plugins/files/XBrackets%20Lite/</td></tr>
<tr><td>XML Tools</td><td>http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/</td></tr>
</table>
</div>

<div>
<table width="80%" align="center">
    <tbody>
        <tr><th>Parent POM</th><th>Purpose</th><th>Used By</th></tr>
        <tr><td><tt>esf-app-parent</tt></td><td>Main ES parent POM for all ES development</td><td>All JARs</td></tr>
        <tr><td><tt>esf-app-portlet-parent</tt></td><td>ES parent POM for all portlet web applications</td><td>All portlet WARs</td></tr>
        <tr><td><tt>esf-app-servlet-parent</tt></td><td>ES parent POM for all servlet applications</td><td>All servlet WARs</td></tr>
        <tr><td>esf-app-war-parent</td><td>ES paraent POM for plain J2EE web applications</td><td>All standard WARs</td></tr>
        <tr><td>esf-app-ear-parent</td><td>ES parent POM for all enterprise applications</td><td>All EARs</td></tr>
        <tr><td>esf-app-ejb-parent</td><td>ES parent POM for EJB modules</td><td>All EJB modules</td></tr>
    </tbody>
</table>
<table width="80%" align="center">
<tbody>
<tr><th>Dependency</th><th>Purpose</th><th>Used By</th></tr>
<tr><td><tt>esf-app-core</tt></td><td>Standard ES support, with ES JARs and tracing features</td><td>All JARs and WARs</td></tr>
<tr><td><tt>esf-app-data-service</tt></td><td>Brings in Host Adapter support</td><td>All integration layer JARs</td></tr>
<tr><td><tt>esf-app-remote-service</tt></td><td>Brings in Host Adapter and Remote Service Provider support
</td><td>All remote services</td></tr>
<tr><td><tt>esf-app-portlet</tt></td><td>Brings in web and portlet support</td><td>All portlet WARs</td></tr>
<tr><td><tt>esf-app-servlet</tt></td><td>Brings in web and servlet support</td><td>All servlet WARs</td></tr>
<tr><td><tt>esf-app-web</tt></td><td>Basic ES web support</td><td>&nbsp;</td></tr>
</tbody>
</table>
<table width="80%" align="center">
<tbody>
<tr><th>Component type</th><th>Parent POM</th><th>Dependencies</th></tr>
<tr><td>Java utility JAR</td><td><tt>esf-app-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Configuration JAR (non-J2EE)</td><td><tt>esf-app-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>ES utility JAR</td><td><tt>esf-app-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Integration Layer JAR</td><td><tt>esf-app-parent</tt></td><td><tt>esf-app-data-service</tt></td></tr>
<tr><td>Data Access Layer JAR</td><td><tt>esf-app-parent</tt></td><td><tt>esf-app-data-service</tt> if Host Adapter used<br>
no support for ORM and JDBC if used</td></tr>
<tr><td>Service Layer JAR</td><td><tt>esf-app-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Remote Service API JAR</td><td><tt>esf-app-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Presentation Layer JAR</td><td><tt>esf-app-parent</tt></td><td><tt>esf-app-portlet</tt> if using portlet APIs<br> <tt>esf-app-servlet</tt>
if using servlet APIs</td></tr>
<tr><td>Configuration and JSR168 portlets WAR</td><td><tt>esf-app-portlet-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Configuration and Jetspeed portlets WAR</td><td><tt>esf-app-portlet-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Configuration and servlets WAR</td><td><tt>esf-app-servlet-parent</tt></td><td>&nbsp;</td></tr>
<tr><td>Configuration, JSR168 and servlets WAR</td><td><tt>esf-app-servlet-parent</tt></td><td><tt>esf-app-portlet</tt></td></tr>
<tr><td>Application EAR</td><td><tt>esf-app-ear-parent</tt></td><td>&nbsp;</td></tr>
</tbody>
</table>
</div>


</body>


</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值