Spring ROO快速构建Web项目

2017年9月12日 Java, Spring, Web开发, 工具 No comments

一、概述

Spring Roo是基于Java语言快速创建应用的强大开源工具,它来源于SpringSource,能够快速创建和管理基于Spring的Web应用,其目的是提高Java开发人员的生产效率。Spring Roo使用Spring、Java Persistence API(Java 持久层API)、Hibernate、AspectJ、Spring Security、Spring Web Flow、Log4J 和 Maven等成熟可靠的库,快速声场数据库、连接池、模板、logging等组件的配置文件,当然还有POJO的CRUD代码。

利用Spring Roo可以敏捷开发Web项目,但项目不会依赖与Spring  Roo。通常情况下,我们可以利用Spring Roo快速构建MVC工程,自动生成代码,然后导入到STS/Eclipse/IntelliJ等IDE中继续开发,然后根据实际的业务逻辑和个人编码习惯进行改造,当需要增加模型、Service层、Controller层时,执行一行Roo命令就可以快速完成需求。

二、快速构建

2.1 安装配置

系统环境:默认已安装好Jdk1.8和Maven 3.3。

去官网下载安装包:https://projects.spring.io/spring-roo/#running-from-shell

解压,然后将bin路径加入到系统变量Path中,比如C:\spring-roo-2.0.0.RC1\bin,然后在CMD中执行roo命令即可进入Spring Roo的命令行模式,如下:

另外,在Eclipse或STS中安装Roo插件即可集成到IDE中,依次进入Eclipse->Help->Install new Software-Add , 添加如下安装源:Roo – http://dist.spring[……]

Read more

WSO2 API Manager调研学习总结

2017年9月8日 Java, Web开发 2 comments ,

近期要做一个SOA服务治理相关的项目,详细调研了下WSO2的API Manager(简称,APIM)。因为在调研过程中发现,国内研究WSO2的开发者较少,社区中也不是很活跃,可供直接上手的中文文档很少,好在官网提供的用户文档比较详细,认真研读研读,调研推进起来还不算太费劲,不过源码比较庞大,大致了解下框架。本文梳理下所调研的APIM相关知识,希望能给后来的开发学习者提供一点帮助。

一、概述

当企业实现自己的SOA框架时,需要对外以APIs的方式暴露内部系统的一些关键的流程、数据和服务。外部系统可以集成这些开放的APIs构建新的业务的解决方案,这种模式可以以一种去中心化的开发模式快速扩展潜在市场,挖掘潜在客户,带来巨大的经济效益,这就是所谓的“APIs经济”。但以一种协同的方式发挥API的杠杆作用面临着一些挑战:控制管理、可信连接、安全认证等。

WSO2 API Manager是一款可以旨在提供优秀的API管理功能的开源产品,能够实现API的创建、发布、生命周期管理、流量控制、版本控制、治理和安全控制等功能。 已用于WSO2 Enterprise Service Bus、WSO2 Identity Server和WSO2 Governance Registry等产品中。WSO2 API Manager可以为开发团队提供Web页面进行部署、管理和监控API,服务消费者可以进行服务发现、服务订阅以及服务调用。APIM的Key Manager组件默认通信协议是Apache Thrift,另外,APIM可以通过集成WSO2 Analytic平台实现API调用监控及告警。

二、安装部署

2.1 基本配置

单点部署方式:

默认Linux环境:Jdk1.8、关闭防火墙,关闭环境中运行Rabbitmq服务,检查端口是否存在冲突
查看5672端口占用

# nets[……]

Read more

Openstack虚拟机备份

2017年9月8日 Ceph, Openstack, Shell, 云计算 No comments , ,

一、概述

采用Ceph分布式文件系统作为Openstack后端存储已经成为一种主流的存储对接方案,Nova、Glance、Cinder都将Ceph rbd作为默认存储。虚拟机、云硬盘及其快照的备份都可以根据rbd特性进行快捷的备份操作,实践中根据实际的情况制定适合的备份策略。备份策略的制定可考虑以下因素:

  • 备份目标;
  • 备份数据的保有量;
  • 备份频率

制定好备份策略后,据此配置好备份脚本及程序,定时备份生产环境中虚拟机等重要数据的备份。

二、备份操作

2.1 全量备份

(1)直接导出虚拟机镜像的方式

虚拟机、云硬盘及其快照的备份时全部类似,都无需关机,直接从Ceph统一存储rbd上导出相关镜像即可。

这种方式适用于虚拟机当前状态的制作镜像并备份,非常方便,不会在Openstack平台和Ceph系统上留下痕迹,适合跨云的镜像快速迁移。

恢复虚拟机只能通过Openstack镜像上传,然后在Openstack中创建虚拟机的方式进行间接恢复。

(2)利用rbd导出的方式

先给当前虚拟机创建快照并导出全量数据。

例如这里导出一个虚拟机的快照数据到本地,:

这种方式是从Ceph存储端做备份,先给当前虚拟机rbd存储打个快照,然后全量导出。

这种方式的恢复也完全在Ceph侧操作,通过rbd import方式恢复即可。

rbd import会创建一个新的镜像,并从指定的文件中导入数据,当前前提是vms/fa8db954-46c7-40bd-80b5-02[……]

Read more