码迷,mamicode.com
首页 > 编程语言 > 详细

基于IBM Bluemix部署Java Web项目实战演练

时间:2015-11-14 22:07:42      阅读:464      评论:0      收藏:0      [点我收藏+]

标签:bluemix   javaweb   mysql   

          林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

          摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务。最后,提出了自己的一些看法。

 文章目录
  • 一、Bluemix简单介绍
  • 二、BlueMix空间申请试用
  • 三、BlueMix创建Cloud Foundry应用
  • 四、添加新的服务
  • 五、总结

一、Bluemix 简单介绍

1、Bluemix 带来了什么
        Bluemix 致力于解决上述在软件开发过程中遇到的问题,旨在帮助程序员更快速的开发,测试,部署和运维云平台应用。
什么是 Bluemix?
       简单的讲,Bluemix 就是一个开放的公有云平台,允许程序员在上面运行几乎所有类型的应用,而不用为硬件,软件,网络等其他因素分心。如上文提到,Bluemix 处于云世界的中间层,也就是 PaaS 层。如下图所示:

技术分享
2、选择 Bluemix 的理由
          第一,节省时间和精力,程序员可以把所有的心思都放在应用程序的编写和调优上,而不用去担心繁杂的平台基础架构和设施,更有利于发掘程序员的创造力,开发出更高质量,高性能的应用;

         第二,加速应用程序上线,在实际的操作中,只需要简单的几条命令或者 UI 界面的几次点击操作就能轻松的完成各种应用程序的部署,而完全不用去担心硬件采购,软件安装等等这些先期准备工作;

         第三,很容易的满足应用程序对各种新功能和新服务的需求,IBM 及其合作伙伴负责提供优质的服务,程序员只需要简单的“绑定”操作就能将服务加入到应用程序中;

         第四,Bluemix 支持的语言,运行时,框架等都是程序员已经熟知的,采用 Bluemix 平台几乎不需要增加新的学习成本;最后一点是,Bluemix 底层采用 IaaS 是可以提供企业级需求的 Softlayer,可以有效的保证平台的高性能和高安全性。

二、BlueMix空间申请试用

1、进入官网

官方首页:https://console.ng.bluemix.net/   可以看到,主要分成了三大类,CF应用程序、容器及虚拟机。

技术分享

2、注册

BlueMix目前对用户免费申请注册都没有什么限制,每个注册用户有30天的免费使用,过了免费试用期后不知道会怎么样了。注册过程也很简单,一下就好了

技术分享

3、激活登陆

这是BlueMix空间的控制面板,可以看到操作分为了4个版块:Cloud Foundry、Docker容器、虚拟机、服务和API。其中虚拟机是要交钱才可以用的。不能免费试用。

技术分享

4、创建空间

默认情况下为会你自动创建一个叫dev的空间,当然,你也可以自己再重新创建新的空间

技术分享

注:初始申请时,Cloud Foundry、容器都是免费试用2GB的,但是一个月后需要绑定信用卡,Cloud Foundry可以一直免费使用的配额是256MB空间。

三、BlueMix创建Cloud Foundry应用

       下面笔者将来讲下如何在Bluemix中部署JavaWeb项目,将本地JavaWeb项目打包上传到Bluemix中去。
1、创建

在BlueMix控制面板中点击创建Cloud Foundry应用

技术分享

选择Web应用或者是移动应用。这里笔者选择Web应用

技术分享

2、选择应用类型

你可以选择你的应用类型,支持Liberty for Java、SDK for Node.js、Go、PHP、Python、Ruby、ASP.NET 5、IBM XPages、社区 buildpack、个人已有代码。这里笔者选择Liberty for Java

技术分享

然后点击继续进行下一步

3、命名

选择应用后,然后填写应用名称,点击完成。

技术分享

5、选择编码

创建应用完成后,接下来就是开始编码了,这里有三种方式:Eclipse 插件、CF和Git。这里使用CF方式是最简单的,本文也都是采用这个方式,也建议你采用这种方式。

技术分享

6、安装CF命令行界面

选择CF方式编码比较简单,点击CF按钮后,接下来就是提示你安装CF命令工具和下载起动器代码包了。

这里主要分为两步:

技术分享


7、CF命令工具下载

CF命令工具官网:https://github.com/cloudfoundry/cli/releases,支持Debian 32 bit与64 bit、Redhat 32 bit和 64 bit、Mac OS X 64 bit、Windows 32 bit和64 bit,这里是CF命令工具Windows 32 位和CF命令工具Windows 64 位下载地址。

技术分享

8、下载应用起动器代码包

下载你的应用起动器代码包,解压后你就可以看到文件了,这是BlueMix提供给你的应用代码包示例。只有通过下载这个起动器代码包,你才能连接到个人Bluemix中心,通过电脑的控制台(win +r,然后输入cmd,确定即可)来操作个人Bluemix中心

下载的路径就在:这个下面蓝色按钮中,里面有下载的路径!

技术分享

如果找不到,请进入到个人创建的项目中,然后点击开始编辑

技术分享

起动器代码解压后的内容如下图,JavaHelloWorld.war就是默认下进入这个网页访问到的内容http://javawebproject.eu-gb.mybluemix.net/。我们默认的个人Bluemix中心放在war包就是下面这个,后头就是要把个人Bluemix中心的这个war包替换掉。

技术分享

9、连接并登录到个人Bluemix中心

打开Windows命令工具,cd 进入到你存放起动器代码文件夹中,连接到 Bluemix:cf api https://api.ng.bluemix.net。,注意,这里我直接把解压后的文件放在了c盘下了

(1)进入目录

技术分享

(2)连接Bluemix

cf api https://api.ng.bluemix.net

技术分享

(3)登录Bluemix

cf -u ling20081005@126.com -o ling20081005@126.com -s dev
-u 后面表示用户,-s后面表示创建的空间,这里我直接使用了默认的,如果是自己创建的空间要记得改过来,然后输入密码后就可以了

技术分享

这里做好之后,这个黑框就一直开着,后台的操作都需要应用到这里!

10、打包本地war文件

首先来看看本地跑的效果,在MyEclipse(或Eclipse)下新建一个web工程,然后写入内容,这里不细讲了,本地启动Tomcat跑起来后的效果如下:

技术分享

 然后把整个工程的war文件导出去:在工作空间选择到项目,然后在FILE->EXPORT中,弹出如下内容。输入对应的参数即可

技术分享


11、上传本地war包到Bluemix

本地java web项目打包成war包后,使用命令,

cf push JavaWebProject  -p D:\JavaWeb\JavaWebHello.war -m 512
这里一定要记得-p 后面跟的是本地war包的路径和名称
技术分享

接下来它会自动上传。编码、重新部署。这一过程大概等 了几分钟。最后如果显示如下,表示发布成功了。

技术分享

12、访问

在自己的浏览器中输入http://javawebproject.eu-gb.mybluemix.net/(现在你也可以访问,到2015.11.30试用期就会到了,到时可能访问不了)

技术分享

动画如下:这里是是一个统计访问请示的次数的一个简单的用JSP写的页面

技术分享

四、添加新的服务

这里要写一个Mysql+servlet+jsp实现用户登录的小页面,并最终部署Mysql数据库和页面到IBM Bluemix,最终的效果如下:

技术分享

1、添加MySql服务

(1)、打开自己的项目。添加服务或API

技术分享

(2)、服务有很多,可以自己选择

技术分享

我们可以通过搜索来过滤 ,输入Mysql

技术分享

(3)创建服务

技术分享

创建后它会要求你重新编译的打包,确定就是

技术分享

(4)绑定服务

怎么来看数据库服务已经和我们的工程绑定了呢?很简单。进入项目后就可以看到了!

技术分享


2、本地访问远程Mysql数据库

即然后已创建数据库,那么接下为就是要建立数据表,同时,插入一些初始数据来验证!

(1)、查看数据库源信息

还是上面,选择显示凭证,这里就是远程的数据库名称、访问的用户名、密码了!

这里name就是数据库的名称,hostname就是数据库的远程地址,username是用户名,password就是密码,jdbcUrl这个是给jdbc用的,或者spring中配置数据源也可以用

技术分享

(2)、本地连接个人Bluemix的MySql服务

打开我们的MySQL Workbench (本地电脑安了MySQL都会有),选择Database->Connect To Database,在弹出的框中,输入如下内容

技术分享

(3)建立表、插入数据

在上面确定后,我们就可以连接到远程的数据库了,下一步就是建表、插入一条数据

脚本如下:

create database example;  
use example;  
create table user(  
userid int primary key auto_increment,  
name varchar(30) NOT NULL,  
password varchar(30) NOT NULL  
);  
insert into user(userid,name,password) values (null,‘lin‘,‘1234‘);  

技术分享

可以看到数据库名ad_ab59b5772bf96a3 就是对应实例化凭证中的数据库 

接下来验证下数据,看看是不是真的插入成功了。

技术分享

3、建立Web项目

数据库有了,那么接下来就是通过web项目来连接,进行数据的查询了!

整个web工程的创建就不说了,不懂看这里Servlet+Jsp+MySql用户登录实例,工程下载路径在这里http://download.csdn.net/detail/evankaka/8714563

这里主要来看看连接数据库的代码,将jdbcurl、username、password改成你自己的Bluemix创建的Mysql服务的内容,然后打包成war包,你也可以直接用。

/** 
*功能 定义数据库操作类
*作者 林炳文(ling20081005@126.com 博客:http://blog.csdn.net/evankaka) 
*时间 2015.4.22
*/
package com.mucfc.dbc;

import java.sql.Connection;
import java.sql.DriverManager;
public class DatabaseConnection {
	//定义数据库驱动程序
	private static final String DBDRIVER="com.mysql.jdbc.Driver";
	//数据库连接地址
	private static final String DBURL="jdbc:mysql://us-cdbr-iron-east-03.cleardb.net/ad_ab59b5772bf96a3?user=b1b48dec447479&password=1aa5dc06";//company表示数据库
	private static final String DBUSER="b1b48dec447479";
	private static final String DBPASS="1aa5dc06";
    private Connection connection=null;
    public DatabaseConnection() throws Exception{
    	try{
    		//数据库操作可能出现异常
    		Class.forName(DBDRIVER);
    		connection=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
    		
    	}catch(Exception exception ){
    		throw exception;
    	} finally {
		}	
    }
    public Connection getConnection(){
    	return connection;
    }
    public void close() throws Exception{
    	if(connection!=null){
    		try {
    			connection.close();			
			} catch (Exception e) {
				throw e;
			}
    	}
    	
    }

}
这个就是了,本地来跑下Web项目吧!!!效果如下

技术分享

技术分享

4、打war包、上传war包

最后关键一步当然就上传了!

打包过程在上面已说了,这里不再细讲。将整个打包出去的war包命名为JavaWebLogin.war

上传命令:一定要选择通过cf api 然后cf login来登录到自己的空间后,才能使用cf push命令!!!,同时注意上传war包的路径和名称!!

技术分享

最后输出如下,表示成功:

技术分享

5、访问
打开浏览器,输入http://javawebproject.eu-gb.mybluemix.net/(到2015.11.30之前都还一直可以访问)正确的用户名/密码:lin/1234
效果如下:
技术分享

五、总结


优点:
1、可免费使用30天,2G应用程序、2G容器,10个服务
2、整体操作都比较简单,对运维人员来说也能学习
3、功能很齐全、光应用程序就支持了很多种,还有虚拟机、容器、服务
缺点:
1、响应太慢,后面部署的登录web项目,因为连接了数据库,验证返回等了将近2秒,如果是表多了,数据多了,不知道可靠性能不能保证了
2、网上教程较少,特别是关于容器这一块,整个bluemix的网站响应好慢!



参考文章:


版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处http://blog.csdn.net/evankaka

基于IBM Bluemix部署Java Web项目实战演练

标签:bluemix   javaweb   mysql   

原文地址:http://blog.csdn.net/evankaka/article/details/49836551

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!