1、Java与云计算,Contents,云计算简介,一,Java与云计算,二,云计算实例,三,云计算在教育中的应用,四,一、云计算简介,1.1云计算的含义,云计算是技术还是理念,1.1云计算的定义,狭义:指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。 提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用IT基础设施。 广义:是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以使任意
2、其他的服务。,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收
3、发邮件;通过Google Talk来与同事朋友进行联系; 通过Google Docs来编写在线文档 ; 通过Google Scholar进行搜索相关论文; 通过Google Translate翻译一些英文; 通过Google Charts来绘制一些图表; 通过Google Blogger来分享日志, 通过Google的YouTube来分享视频; 通过Google的Picasa来编辑分享图片;,1.2云计算的原理,基于互联网的超级计算模式-即把存储于个人电脑、移动电话和其他设备上的大量信息和处理器资源集中在一起,协同工作。在极大规模上可扩展的信息技术能力向外部客户作为服务来提供的一种计算方式。,
4、1.2 云计算的原理,1.3 云计算的服务形式,SAAS( Software as a Service ) ; PAAS( Platform as a Service ) ; IAAS( Infrastructure as a Service ); 云存储; MSP(管理服务提供); 商业服务平台 ;,1.4 云计算的特点,超大规模,虚拟化,高可靠性,通用性,高可扩展性,按需服务,极其廉价,二、 Java与云计算,Java使云计算更简单,James Gosling,2.1 Java的优势,JAVA的 优势,2.1 Java在云计算中的优势,Java EE was designed to be
5、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 stan
6、dardized packaging - the Enterprise Archive (EAR), which makes the provisioning of cloud apps relatively easy. And EAR solves some cloud-interoperability issues: Its 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 appl
7、ication 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 c
8、loud-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.
9、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 requ
10、ires 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.,云计算环境,2.3 Java与分布式计算,基于JAVA的分布式程序设计: 基于Socket的编程 基于RMI的分布式编程 基于CORBA的分布式编程,分布式计算是将大任务化分为小任务,各台参与计算的电脑之间是在物理地域上的分布,一般有服务器作为“中央”,
11、参与计算的电脑不用了解工作原理,仅仅只是就自己感兴趣的项目做贡献而已。,2.4 Java与并行计算,JDK 1.5引入java.util.cocurrent包 Java中的多线程技术实现并行计算( JET 平台)Java SE 5 中的锁,原子量 并行容器,线程调度 以及线程执行 基于Java的分布并行计算环境Java PVM,2.5 Java与网格计算,网格计算:通过利用大量异构计算机(通常为桌面)的未用资源(CPU周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集
12、群或传统的分布式计算相区别,基于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虚拟机有自己完善
13、的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统,2.6 Java与虚拟化技术,Sun 公司的虚拟化技术支持:管理程序 (Sun xVM Server)、OS (Solaris Containers)、网络 (Crossbow)、存储 (COMSTAR, ZFS)和应用程序 (GlassFish 和 Java CAPS 技术)。,三、云计算实例,3.1 Sun与云计算,2008年5月,Sun在2008JavaOne开发者大会上宣布推出“Hydrazine”计划,Sun Microsystems公司(NASDAQ: JAVA)展示了Sun开放式云计算平台(Sun Open Cloud
14、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
15、 http:/,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 s
16、ervers, storage, networks, virtual network devices as well as applications.采用Spring + Grails基于java Web的云计算,四、云计算在教育中的运用,4.1 云计算与移动学习,移动学习是指利用无线移动通信网络技术以及无线移动通信设备(如移动电话、PDA、Pocket PC 等) 获取教育信息、教育资源和教育服务的一种新型学习形式。 云计算对移动学习的影响 1改变现有移动学习模式 2整合最丰富的教育信息资源 3创建自主、多元的虚拟学习社区 4对移动学习设备要求大幅降低,4.2 云计算与PLE,Persona
17、l 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 802.11b、GPRS 等无线通信技术,在任何地点、任何时间学习任何自己感兴趣的内容。,4.3 云计算与泛在学习,主题:Java 与 云计算,Thank You !,Q&A,