智慧燃气大数据服务平台技术方案V3.0
2.3.2.2 WEB的技术和开发环境
Nginx代理服务器负载分发Varnish缓存服务器负载分发Weblogic/TomcatWEB服务器负载分发CAS单点登录CUBESpring 3 框架表现层接口层对外提供的服务接口扩展服务协议Prototype+Jquery1.7JS框架库第三方组件库Spring MVCCSS框架,支持主流浏览器自定义thymeleaf组件库heartbeat主从互备监控MooseFS(备机)管理服务器MooseFS(主机)管理服务器Protobuf-rpc-pro/thrift通用XML协议转换模块业务控制层API Service层封装后台业务逻辑,对外提供api接口,供表现层和接口层调用Shiro权限管理Spring transaction事务管理Spring AOP业务拦截过滤Freemarker模板引擎PdfBoxPdf文档处理Fusion Charts & Fusion MapsXT版本报表图形展示Quartz定时任务管理metalogger元数据日志服务器Slf4j日志Hessian服务Solr站内搜索引擎RabbitMQ/kafka+zookeeper/Beanstalkd+binlogJMS消息队列服务Mail邮件服务chunkserver数据存储服务器chunkserver数据存储服务器chunkserver数据存储服务器i18n国际化JBPM流程引擎按需扩展功能模块持久层DBCP Connection PoolMybatisAtomikos JTA缓存层Ehcache缓存MemcachedMemcachedOracle/MysqlOracle/Mysql传统数据库(主)传统数据库(备)读写分离垂直拆分Redis 缓存数据Redis 缓存数据开发环境:
A. Java jdk1.5及以上 B. 开发工具: Eclipse
主要技术:
A. Spring Spring MVC B. Nginx weblogic tomcat
C. Oracle 、 MySQL 、 ecache 、 redis
主要构建: 服务端
Nginx 代理服务器、Varnish 缓存服务器 、
Weblogic/tomcat/jetty web服务器 、 cas单点登录服务器 接入web应用。
Web应用
25
智慧燃气大数据服务平台技术方案V3.0
采用spring mvc 、thymeleaf、jquery 以及一些第三方组件库搭建表现层,实现应用的前端展示。
业务控制层采用配备式架构,根据业务需求使用不同组件实现需求:
权限管理 : shiro 模板引擎 : Freemarker
定时任务管理: quartz
日志管理 : slf4j 等
事务管理 : spring transaction 事务管理
PDF文档处理 : pdfBox
站内搜索引擎 : Solr 邮件服务 : java mail 等 ……
以上组件可根据开发情景的不同进行相应的配置。 接口层采用json、xml数据传输形式,采用aes(上已介绍)
等主流加密处理,通过扩展服务协议(hessian等)实现接口层的业务。
数据持久层: 使用 oracle 或者 mysql 数据库,使用连接池(DBCP等) 、 orm(Mybatis 等) 、 数据缓存(redis等)实现数据的持久化。
常用的技术还有: 文件服务器、服务器数据缓存、第三方平台接入等。
26
智慧燃气大数据服务平台技术方案V3.0
2.3.2.3 APP的技术和开发环境(IOS / Android)
27
rec应用及展示 Html5+css3+javascrAndroid与ios控件 客户端平台基础Android ActSerUIKIOS Core ……Core Graphics it Core Data …Http+Json 后台服务 智慧燃气大数据服务平台技术方案V3.0
Android开发环境:
A. Java jdk1.7及以上 B. 开发工具: Eclipse C. Android SDK
D. Eclipse ADT开发插件
IOS开发环境:
A. IOS SDK
B. 开发工具:X-CODE
展示所需要的技术:
目前在前段展示比较常用开发方式为两种:
A .调用Android或者IOS(一下简称设备)的控件,实现载入html5响应式web页面实现前段的展示。
B.根据设备不同(Android还是IOS)开发不同的APP,实现需求。
在后台服务层:
若采用html5响应式web页面实现需求的话。Android和ios是基本相
同的,与传统的web实现相同。
采用原生的系统开发出的APP则需要使用不同的技术。 Android主要涉及四大核心组件:
Service
负责后台的业务运行以及远程的业务请求、
ContentProvider 管理应用的数据以及数据在本地的持久化
之类的操作、
BroadCastReceiver 系统广播消息组件 应用的广播以及提示工具、 Activity
实现界面的展示以及业务的前端操作
IOS核心技术涉及四层
iOS源于UNIX,由Mach,BSD系统改写发展而来,很稳定。 第一层(最底层)核心操作系统层(Core OS)
28
智慧燃气大数据服务平台技术方案V3.0
包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。可以直接和硬件设备进行交互。
第二层 核心服务层(Core Services) 可通过它访问iOS核心服务如通讯录、网络。
第三层 媒体层(Media)
可通过它访问媒体文件,进行音频与视频的录制,图形的绘制,以及制
作基础的动画效果。
第四层(最上层)应用框架(Cocoa Touch)
这一层为我们的应用程序开发提供了各种有用的框架,大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。
后台交互采用的技术
后台交互主要采用的数据格式:
Json : 轻量级 结构简单 冗定余性低(相较于xml) Xml : 在特定的情景下也会使用
后台交互的通信协议:
http 和 socket
Socket适用场景:网络游戏,银行交互,支付。
http适用场景:公司OA服务,互联网服务。
Socket和http简单描述:
Socket实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。
TCP:传输控制协议,面向连接的的协议,稳定可靠。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。
UDP:广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输
29