UAP-NC技术平台介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Solaris / AIX / Linux / Windows
Database
DB2 / Oracle / SQL Server / OSCAR
UAP 部署图
HTTP/HTTPS
Internet
Client
Web Server 集群
应用服务器集群
数据库服务器集群
Node A Web Server
HTTP Server
浏览器的瘦客户端 Node B Web Server
HTTP Server PlugPlug in
Business Data
Application Server
Web Container EJB Container
NCV5开发模型
• 远程接口(远程组件) • Impl 远程接口实现类 和业务逻辑类 • 持久化, 数据库操作 JDBCFramework • UI类 • 数值VO类
Persistence Framework SQL Translator
Enterprise Service Architecture (ESA)
J2EE Server (WebSphere / WebLogic / UFIDA Application Server)
Portal Server
Operating System
Rich Client Engine
SwingUI Framework SwingUI Controls
Thin Client Engine
JSP Framework JSP Tag JavaScript
Component Management Tool Deployment Tool Client Install Tool Configuration Tool System Monitor
启动中间件
• 中间件配置:Navigate -> Go to > Type 找到 “ufmiddle.start.tomcat.StartDir ectServer”,然后 Run , new Nc Application。
program arguments设置如下: ${FIELD_NC_HOME}/ierp/bin/prop.xml Dnc.server.location=${FIELD_NC_HOME} DEJBConfigDir=${FIELD_NC_HOME}/ejbX MLs DExtServiceConfigDir=${FIELD_NC_HOME }/ejbXMLs VM arguments设置如下: -Dnc.server.location=${FIELD_NC_HOME} DEJBConfigDir=${FIELD_NC_HOME}/ejbX MLs DExtServiceConfigDir=${FIELD_NC_HOME }/ejbXMLs Working directory 选择Other 内容为 ${FIELD_NC_HOME}
• •
• •
• •
启动Jstarter
• Navigate -> Go to -> Type 找到 “nc.starter.test.JStar ter”,然后 Run , new Java Application。 • Java Build Path 中添 加 “\jdk1.5.0_07\jre\lib\ plugin.jar”。
配置规范
配置规范
• • • 公共组件约定: 公共组件的属性中不能出现:name=””, 公共组件可以出现以下属性: tx=”NONE”,singleton=”true” //根据不同情况进 行决定,建议采用true remote=”true|false” 私有组件约定 私有组件的节点中不能出现: <interface>„</interface> 不能出现以下属性:tx=””,remote=”” 可以出现以下属性:singleton=”true” //根据不同 情况进行决定,建议采用true name=名称以接口名称为准(不包含包名称)
代码结构规范
• 将代码分区域存放 ---public 接口和公共代码(比如VO和公共算法) ---private 实现和其它实现细节 ---client 客户端代码 --- gen 工具生成ejb目录 --- META-INF 模块配置文件目录 • 按接口编程 ---nc.itf.<模块>: 表示该模块定义的接口 ---nc.impl.<模块>:表示该模块定义的接口实现 ---nc.vo<模块>: 表示VO的实现 ---nc.bs.<模块>: 普通的后台应用 ---nc.ui.<模块>.*: 客户端代码
区域存放结构规范
代码结构图
如何开始
• • • • • • 开发环境的建立Eclipse 定义远程接口 实现远程接口 建立部署文件XX.module,用工具生成EJB 客户端调用远程接口 功能注册,运行调试
开发环境建立
• • • Eclipse3.2 JDK1.5 UAP nc.uap.mde插件 NC_HOME指定基础技 术平台的运行环境根目 录 (Window>preferences->MDE Development )
NC5 技术平台架构 zhangq
UAP 结构图
Basic Application Services
UAP Application Framework UAP Technology Framework System Framework
Financial Account Platform UI Data Cache I18N Access Control Data Exchange Mobile Management Business Flow Configuration Approval Flow Configuration Organization Management
通过XX.Module文件部署组件
<?xml version="1.0" encoding="UTF-8"?> <module> <public> <component priority="0" singleton="true" remote="true" tx="NONE" > <interface>nc.itf.sample.IHelloPub</interface> <implementation>nc.impl.sample.HelloWorldPub</implementation> </component> </public> <private> <component name="IHelloWorld" priority="0" singleton="false" > <implementation>nc.impl.sample.HelloWorldImpl</implementation> </component> </private> </module>
日志 ,SQL语句等调试信息 (logger-config.properties)
• 把anonymous.level改成TRACE,输出文件配置去 掉 • anonymous.level=ERROR • anonymous.pattern=[%t] %X{remoteAddr} %X{remotePort} %d{yyyy/MM/dd HH:mm:ss} [%A] %p - %m %n • anonymous.file=./nclogs/${server}/anony-log.log • anonymous.size.maxSize=5MB • anonymous.size.maxIndex=20
Application Patterns
Form Patterns Report Patterns Print Patterns
Workshop
Form Designer
PreAlert
Report Designer Print Designer Query Designer
Data Transfer Message Management
事务型接口
• V5.0中的事务参与模型通过方法名后缀进行判断,判断的 方法如下: • 方法名后缀RequiresNew: 新事务 • 方法名后缀Mandatory: 必须在一个已有的事务环境中运 行该方法 • 方法名后缀Never:不能有事务,否则出错 • 没有方法名后缀: 如果有事务,就在该事务环境下工作, 否则新启事务,这是大部分事务型组件的情况 • 事务型组件一般都是针对数据库等事务性资源进行操作, 如果没有对事务性资源进行操作,请不要把组件定义为事 务组件。
建立Module Project
• 点击菜单“新 建/项目”,选 择MDE Development 下的Moudle Project
开发远程接口组件
• V5.0版本的远程组件开发是基于接口, • 定义远程接口,就是普通接口,分有事务 和无事务。对于事务型的组件 (是指该组 件的方法调用中事务处理会自动参与 )可 通过后缀名来判断事务类型,通常为没有 后缀 • 对该接口进行实现 • 编辑部署文件,发布组件接口,事务型组 件 和非事务型组件部署文件格式不一样。
Business Flow Designer Rule Designer
Basic Technology Services
Login/CA Security Workflow Connect Framework Scheduler Rule Engine Synchronization Exception Cache Log Basic Algorithms Metadata Management
定义和实现接口
定义接口 package nc.itf.sample.service; public interface IHelloWorld { String sayHello(String toName); } 实现接口 package nc.impl.sample.service; public class HelloWorldImpl implements IHelloWorld { public String sayHello(String toName) { return "Welcome " + toName + " explore V5"; }
• •
• • •
使用工具生成EJB代码
客户端调用
• IHelloWorld Ihello = (IHelloWorld) NCLocator.getInstance().lookup(IHelloWor ld.class.getName()); ihello.sayhello(); • 客户端和其他模块系统调用均通过 NCLocator
Application Server
Web Container EJB Container
客户端
Application Firewall
Plug-in
Application Server 防火墙
负载均衡
基于安装的客户端
Web Container
EJB Container
Database Database Server Server
其它常用开发规范
• 异常(BusinessException或 BusinessRuntimeException ) • ຫໍສະໝຸດ Baidu志,客户端日志(Debug)和服务器端日 志(Logger) • 持久层JDBC Framework
谢谢!
相关文档
最新文档