第一组 Java 与云计算
Contents 云计算简介 一 二 云计算实例 三 云计算在教育中的应用 四
一、云计算简介云计算的定义 云计算的原理 云计算的服务形式 云计算的特点
1.1 云计算的含义 技术理念 云计算是 技术 还是 理念
1.1 云计算的定义 狭义:指 IT 基础设施的交付和使用模式,指通 过网络以按需、易扩展的方式获得所需的资源 (硬件、平台、软件)。 提供资源的网络被 称为 “ 云 ” 。 “ 云 ” 中的资源在使用者看来是可以 无限扩展的,并且可以随时获取,按需使用, 随时扩展,按使用付费。这种特性经常被称为 像水电一样使用 IT 基础设施。 广义:是指服务的交付和使用模式,指通过网 络以按需、易扩展的方式获得所需的服务。这 种服务可以是 IT 和软件、互联网相关的,也可 以使任意其他的服务。
1.1 云计算的含义 云计算 (Cloud Computing) 是并行计算 (Parallel Computing) 、分布式计算 (Distributed Computing) 和网格计算 (Grid Computing) 的发展, 是虚拟化 (Virtualization) 、效用计算 (Utility Computing) 、 IaaS( 基础设施即服务 ) 、 PaaS( 平台即服务 ) 、 SaaS( 软件即服务 ) 等概念混合演进并跃升的结果。 云计算先驱: Google 、 yahoo 、 IBM 、 Microsoft 、 SUM 、 Amazon
Bob 的云办公 通过 Google Calendar 来管理日程安排 ; 通过 Gmail 收发邮件 ; 通过 Google Talk 来与同事朋友进行联系 ; 通过 Google Docs 来编写在线文档 ; 通过 Google Scholar 进行搜索相关论文; 通过 Google Translate 翻译一些英文; 通过 Google Charts 来绘制一些图表 ; 通过 Google Blogger 来分享日志, 通过 Google 的 YouTube 来分享视频; 通过 Google 的 Picasa 来编辑分享图片 ;
1.2 云计算的原理 基于互联网的超级计算模式 -- 即把存储于个人电脑、移 动电话和其他设备上的大量信息和处理器资源集中在一 起,协同工作。在极大规模上可扩展的信息技术能力向 外部客户作为服务来提供的一种计算方式。 Mb PC 企业电脑 和服务器 PDA
1.2 云计算的原理
1.3 云计算的服务形式 SAAS ( Software as a Service ) ; PAAS ( Platform as a Service ) ; IAAS ( Infrastructure as a Service ); 云存储; MSP (管理服务提供); 商业服务平台 ;
1.4 云计算的特点 超大规模 虚拟化 高可靠性 通用性 高可扩展性 按需服务 极其廉价
二、 Java 与云计算 Java 在云计算中的优势 Java 实现云计算的方式 Java 与分布式计算 Java 与并行计算 Java 与网格计算 Java 与虚拟化技术
James Gosling
2.1 Java 的优势 1. 简单性 2. 兼容性 3. 简易性 4. 安全性 5. 动态性 6. 高性能 7. 解释性 8. 健壮性 JAVA 的 优势 优势
2.1 Java 在云计算中的优势 Java EE was designed to be deployed to a distributed environment. Cluster management and extensive monitoring are supported by major application servers. EJB 3 programming model encourages stateless, idempotent, and atomic or transactional design. Java Champion Adam Bien
2.1 Java 在云计算中的优势 Java EE 5 and Java EE 6 come with standardized packaging -- the Enterprise Archive (EAR), which makes the provisioning of cloud apps relatively easy. And EAR solves some cloud-interoperability issues: It's a lot easier to move an app from one cloud to another. Java EE 5 and 6 are portable, so applications can be easily moved from one application server to another, regardless of whether they run in a cloud or not. They both will run on JDK 5 or higher. JVM itself comes with fantastic remote debugging, profiling, and monitoring capabilities. This already greatly simplifies the development of distributed apps and should also simplify cloud-enabled apps
2.2 Java 实现云计算的两种方式 Heavy UI oriented. Heavy framework oriented These types of applications or framework usually provide UI-based consoles, management applications, plugins, etc that provide the only way to manage resources on the cloud such as starting and stopping the image, etc. The key characteristic of this approach is that it requires a substantial user input and human interaction and thus they tend to be less dynamic and less on-demand. This approach strongly emphasizes dynamism of resource management on the cloud. The key characteristic of this approach is that it requires no human interaction and all resource management can be done programmatically by the grid/cloud middleware - and thus it is more dynamic, automated and true on- demand.
JAVA 分布式 计算 虚拟化 技术 网格计 算 并行计 算
2.3 Java 与分布式计算 基于 JAVA 的分布式程序设计: 基于 Socket 的编程 基于 RMI 的分布式编程 基于 CORBA 的分布式编程 分布式计算 分布式计算是将大任务化分为小任务,各台参 与计算的电脑之间是在物理地域上的分布,一 般有服务器作为 “ 中央 ” ,参与计算的电脑不用 了解工作原理,仅仅只是就自己感兴趣的项目 做贡献而已。
2.4 Java 与并行计算 JDK 1.5 引入 java.util.cocurrent 包 Java 中的多线程技术实现并行计算( JET 平台) Java SE 5 中的锁,原子量 并行容器,线程调度 以及线程 执行 基于 Java 的分布并行计算环境 Java PVM 并行计算 并行计算是指同时对多个任务或多条指令、或对 多个数据项进行处理。并行计算的主要目的:一 是为了提供比传统计算机快的计算速度;二是解 决传统计算机无法解决的问题。
2.5 Java 与网格计算 网格计算: 通过利用大量异构计算机(通常为桌面)的 未用资源( CPU 周期和磁盘存储),将其作 为嵌入在分布式电信基础设施中的一个虚拟 的计算机集群,为解决大规模的计算问题提 供了一个模型。网格计算的焦点放在支持跨 管理域计算的能力,这使它与传统的计算机 集群或传统的分布式计算相区别
基于 Java 网格计算主要开发 工具包: Globus ToolKit 4.0 基于 Java 的开发框架与平台: GridGain 2.0& JPPF Java Grid Computing Library J2EE 环境与 API 网格计算开发 2.5 Java 与网格计算
2.6 Java 与虚拟化技术 虚拟化技术 是指计算元件在虚拟的基础上而不是真实的基础 上运行。虚拟化技术可以扩大硬件的容量,简化 软件的重新配置过程。 Java 虚拟机 Java 语言的一个非常重要的特点就是与平台的无关性。而使 用 Java 虚拟机是实现这一特点的关键。 Java 虚拟机( Java Virtual Machine )是一个虚构出来的计算机,通过在实际的 计算机上仿真模拟各种计算机功能来实现的。 Java 虚拟机有 自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有 相应的指令系统
2.6 Java 与虚拟化技术 Sun 公司的虚拟化技术支持:管理程序 (Sun xVM Server) 、 OS (Solaris Containers) 、网络 (Crossbow) 、 存储 (COMSTAR, ZFS) 和应用程序 (GlassFish 和 Java CAPS 技术 ) 。 1 、操作系统虚拟化 2. 平台虚拟化 3. 网络虚拟化 4. 应用程序虚拟化
三、云计算实例 Sun 与云计算 Google App Engine Abicloud
3.1 Sun 与云计算 2008 年 5 月, Sun 在 2008JavaOne 开发者大会上宣布推出 “Hydrazine” 计划, Sun Microsystems 公司 (NASDAQ: JAVA) 展示了 Sun 开放式云计算平台 (Sun Open Cloud Platform) ,即 Sun 公司的开放式云计算基础架构,该平台 由 Sun 公司的行业领先软件技术,包括 Java 、 MySQL 、 OpenSolaris 和开放式存储等所驱动。
3.2 Google App Engine Google App Engine 可让您在 Google 的基础架构上 运行您的网络应用程序。 App Engine 应用程序易于 构建和维护,并可根据您的访问量和数据存储需要 的增长轻松扩展。 可支持 Java + Groovy+ JDO 开发云服务 Google File System 文件系统 MapReduce 分布式编程环境 分布式大规模数据库管理系统 BigTable Google Docs Google Docs
3.3 Abicloud 开源的基于 Java 平台的云计算平台 Abicloud is an open source infrastructure software for the creation and integral management of Public & Private Clouds based on heterogeneous environments. The tool mainly offers users the capacity for scaling, management, automatic and immediate provision of servers, storage, networks, virtual network devices as well as applications. 采用 Spring + Grails 基于 java Web 的云计算
四、云计算在教育中的运用云计算与移动学习 云计算与 PLE 云计算与泛在学习
4.1 云计算与移动学习 移动学习 是指利用无线移动通信网络技术以及无线移动通信设 备 ( 如移动电话、 PDA 、 Pocket PC 等 ) 获取教育信 息、教育资源和教育服务的一种新型学习形式。 云计算对移动学习的影响 1 改变现有移动学习模式 2 整合最丰富的教育信息资源 3 创建自主、多元的虚拟学习社区 4 对移动学习设备要求大幅降低
4.2 云计算与 PLE Personal Learning Environment 即个人学习环境。加拿大教育技术专家 Stephen Downes 描述的 “ PLE 是一种工具、服务、人和资源 的松散集合体,是利用网络力量的一种新方式 ” 1 云计算模型下 PLE 的要素: ( 1 ) 正规教育机构,( 2 ) 网络教育服务供应商, ( 3 ) 提供云计算服务的网络公司,( 4 ) 个人终端 设备, 2 云计算模型下 PLE 的特点 ( 1 ) Pull 与 Push 相结合,( 2 ) 浏览器即客户端
4.2 云计算与 PLE 云计算模型下 PLE 的概念框架
4.3 云计算与泛在学习 泛在学习 :(Ubiquitous Learning ,简称 U-Learning) 是使 用带有 RFID 、红外数据通信端口、蓝牙端口或 GPS 卡 等通信接口的 PDA ,智能手机,笔记本电脑等移动设备, 利用 IEEE b 、 GPRS 等无线通信技术,在任何地 点、任何时间学习任何自己感兴趣的内容。 按需学习 ( just in case ) 即时学习( just in time ) 适量学习 ( just in enough )
4.3 云计算与泛在学习 提供泛在学习 所需的丰富的 在线学习工具 提供泛在学习 所需的丰富的 学习资源 解决泛在学习 过程中的硬件 瓶颈 构建泛在学习 的个人学习门 户
第一组 主题: Java 与 云计算