收藏 分享(赏)

基于Android系统的音频笑话分享平台 ——音频、漫画分享子系统及Webservice模块.docx

上传人:wo7103235 文档编号:6268418 上传时间:2019-04-03 格式:DOCX 页数:60 大小:1.80MB
下载 相关 举报
基于Android系统的音频笑话分享平台 ——音频、漫画分享子系统及Webservice模块.docx_第1页
第1页 / 共60页
基于Android系统的音频笑话分享平台 ——音频、漫画分享子系统及Webservice模块.docx_第2页
第2页 / 共60页
基于Android系统的音频笑话分享平台 ——音频、漫画分享子系统及Webservice模块.docx_第3页
第3页 / 共60页
基于Android系统的音频笑话分享平台 ——音频、漫画分享子系统及Webservice模块.docx_第4页
第4页 / 共60页
基于Android系统的音频笑话分享平台 ——音频、漫画分享子系统及Webservice模块.docx_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、本 科 毕 业 论 文 文 档基于 Android 系统的音频笑话分享平台音频、漫画分享子系统及 Webservice 模块Audio Jokes Share Platform Based on Android:Audio Cartoon Sharing System and Webservice Module姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:校内指导教师: 年 月摘 要随 3G技术的普及,人们的娱乐方式也随之不断的发生变化,将传统娱乐方式融入移动平台的机制正变得越来越受到关注。近年来,手机流媒体业务已成为各大无线运营商的新的增长点,用户数量逐年递增。基于移

2、动流媒体服务的应用也越来越畅销。在以上背景下,课题组决定研究基于移动设备的的音频笑话分享平台。本课题主要实现了音频分享子系统和平台的Web服务。 子系统可分为服务端和客户端两个部分。客户端主要完成音频的录制,试听和上传功能,服务端由上传模块和解码模块构成。客户端采用MVC架构将界面Activity,控制 Service及实例层相分离。在音频录制模块中使用Android系统MediaRecorder组件实现录制并利用Android AIDL技术将Activity和Service分进程运行。进程间通过远程接口调用,使得界面和录音服务互不影响,从而获得更好的用户体验。试听功能主要利用Android系

3、统的MediaPlayer组件实现播放。漫画模块,主要采用三缓冲设计从服务端获取漫画图片的同时实现流畅播放,通过Apache提供的 HTTPClient组件实现音频文件的上传下载。服务器端主要基于Spring和Hibernate框架,管理服务对象和进行O/R Mapping。在接收到笑话音频文件后会自动进入同步机制等用户的笑话信息上传后一起记录到数据库中,在此过程中为了计算音频文件的播放时间对音频文件进行解码,由于系统录制主要支持的是AMR12.2 和WAV格式所以解码主要针对 AMR格式和WAV格式。解码模块根据各种格式不同的特点和计算公式计算得出该音频文件相应的播放时间。 在服务端,通过A

4、xis发布Web 服务向客户端暴露服务,实现客户端与服务端的低耦合,从而减少服务端的冗余代码减少工作量并且提高系统的可扩展性。 关键词:Android; SOA; HTTPAbstractWith widely use of 3G technology. Profound changes take place in peoples way of entertainment. There is growing need in combining traditional amusement with mobile platform. Streaming media has become a new

5、 business growth point of wireless operators with increasing users year-on-year. Against this backdrop, our group decided to realize a Internet joke share platform. This dissertation accomplishes the joke sharing system and web service.The system contains two parts, namely the client and server. Cli

6、ent takes the responsibility of audio recording, listening and uploading, while the server end is constitute of uploading module and decoding module. The client end separate interface activity, control service and instances with MVC architecture. In the audio recording module, MediaRecorder of Andro

7、id system is used to record audios , while Android AIDL technology is utilized to run Activity and Services in different processes . They then call each other with remote interfaces without interference , rendering better experience to users. Audio listening function plays with Media Player in Andro

8、id system. The uploading process makes use of HTTP Client component provided by Apache. The server end is based on Spring and Hibernate, managing service object and conducting O/R Mapping. After receiving joke audios a synchronous mechanism will be touched off, recording users information together i

9、nto the database. During the process, audio files are decoded to calculate their play time. Decoding will be adaptable only to AMR and WAV formats which are supported by the recording module. The decoding module calculates play time in accordance with different features and formulations of different

10、 formats.Key words:Android; SOA; HTTP1目录第一章 绪论 11.1 引言 11.2 论文组织结构 2第二章 系统相关技术概述 32.1 AXIS 32.2 Spring + Hibernate32.2.1 Spring42.2.2 Hibernate .42.3 Android 42.3.1 Android 应用程序框架 .42.3.2 Android 应用程序组件 52.4 本章小结 .7第三章 系统原理 83.1 后台管理框架 83.2 Webservice 部分 .83.3 本章小结 .10第四章总体设计 124.1 系统概述 .124.1.1 开发背

11、景 124.1.2 系统模块图 134.1.3 基于 SOA 的系统架构 144.1.4 系统开发环境 154.1.5 系统运行环境 .154.2 本章小结 .16第五章 系统详细设计 .175.1 服务端详细设计 .175.5.1 Webservice 模块设计 175.5.2 上传模块 .205.5.3 解码模块 245.2 客户端详细设计 .275.2.1 音频录制功能的实现 .305.2.2 试听功能的实现 325.2.3 上传功能的实现 365.2.4 漫画模块 375.3 本章小结 .39第六章 系统配置与接口测试 .416.1 系统配置 41Axis 的搭建 41Spring 与

12、 Hibernate 框架的整合 .426.2 系统运行结果 .44第七章 总结与展望 .477.1 论文总结 .477.2 工作展望 47参考文献 49致 谢 .513ContentChapter 1 Preface11.1 Introduction.11.2 Paper Organization2Chapter 2 System-related Technical Overview 32.1 AXIS .32.2 Spring + Hibernate32.3.1 Spring42.3.2 Hibernate.42.3 Android .42.3.1 Android Application

13、Framework52.4 Summary.7Chapter 3 The Theory of The System .83.1Server Management Framework83.2 Webservice Module 83.3 Summary.10Chapter 4 Concept Design124.1 System Description .124.1.1 Background.124.1.2 Modules.134.1.3 Architecture of System Based on SOA.144.1.4 Development Environment .154.1.5 Ru

14、ntime Environment.154.2 Summary.16Chapter 5 Detailed Design175.1 Server .175.5.1 Webservice Module Design175.5.2 Upload Module Design.205.5.3 Decode Module Design.245.2 Client.275.2.1 Recorder Module 305.2.2 Player Module.325.2.3 Uploader Module 365.2.4 Cartoon Module 375.3 Summory.39Chapter 6 Confi

15、guration And Testing416.1 Configuraiton 41Axis41Spring And Hibernate 416.2 System Running State42Chapter 7 Summory And Outlook477.1 Summory.477.2 Work Prospects .47References 49Acknowledgements51第一章 绪论1第一章 绪论1.1 引言随着移动通信与 Internet 之间越来越紧密的联系,整个世界正在快速地向移动信息社会演变 1。此外全球 3G 用户数量的增加,无线网络的覆盖面不断加大,加之智能手机处理

16、能力的迅猛发展。手机流媒体服务在手机中有着越来越广泛的应用。据统计全球移动用户已经超过 15 亿,其中互联网用户超过 7 亿,我国移动通信用户总数超过 3.6 亿,其中互联网用户超过 1亿。同时网络分享的概念已经深入人心,很多大型网站也纷纷推出分享服务,例如针对大学生的校内网,针对视频的优酷、土豆等。并且这些网站都已经推出自己的手机客户端来抢占手机用户市场。可以想到以智能手机为客户端,以网络流媒体为形式,以专项领域的资料分享为服务模式的流媒体服务将成为未来的主流。面向服务的体系架构 SOA,作为新一代的软件开发架构对软件设计模式产生了深远的影响。SOA 通过建立可组合的、可重复的服务体系来减少

17、IT 业务冗余,通过松耦合的项目组织方式提高软件产品质量并加快项目开发的进程;且不受调用平台的约束。它的高可复用性、灵活性以及可扩展性和可用性,使其非常适合用于跨平台的开发 2。Android 是 Google 于 2007 年 11 月 5 日发布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。其通过丰富的网络功能、并行多任务环境以及“无界限的应用程序”等特色收到业界厂商和广大消费者的广泛关注 3。Android 在中国的前景十分广阔。在国内,Android 社区十分红火,这些社区为 Andr

18、oid 在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了 Android 阵营,包括中国移动,中国联通,华为通讯,联想等巨头。中国移动 Ophone 平台使用的操作系统 OMS 就是在 Android 系统基础上定制的。同时不仅仅局限于手机,国内厂家也陆续推出了采用 Android 系基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块2统的 MID 产品。可以预见的是,Android 也将会被广泛应用到国产智能手机上,进一步扩大 Andorid 系统的应用范围。1.2 论文组织结构本论文共分为七章,论文首先介绍了系统所使用的技术和原理,让读者能

19、在技术层面上全面的了解整个系统,接着在系统实现方面,论文介绍了系统的概要设计、详细设计、系统配置等内容最后论文给出了针对整个系统的总结与展望。论文具体安排如下:第一章 简要介绍了当前在移动流媒体领域的发展趋势,流媒体服务系统架构及最新的手机应用开发平台。第二章 概述系统中所使用的各项技术及各项技术的国内外发展现状。第三章 介绍了本文使用的后台框架的工作原理和 SOA 基础 Webservice 的工作流程和机制。第四章 介绍了系统的总体设计分为服务端和客户端两个部分包括系统模块图、系统架构选择,系统平台和开发环境选择等。第五章 介绍了系统的详细设计包括各个模块的类图、顺序图,具体技术点的详细阐

20、述等。第六章 介绍了系统的配置、运行结果和接口测试的相关信息。第七章 最后对论文全部内容进行了总结并给出了对项目未来的展望。第二章 系统相关技术概述3第二章 系统相关技术概述2.1 AXISAxis 本质上是一个 SOAP 引擎,提供创建服务器端、客户端和网关SOAP 操作的基本框架。 Axis 并不完全是一个 SOAP 引擎,它还包括:一个独立的 SOAP 服务器和一个嵌入 Servlet 引擎(例如 Tomcat)的服务器。此外它还包括如下特性:1、Axis 支持 WSDL。2、Axis 提供转化 WSDL 为 Java 类的工具。3、Axis 提供 TCP/IP 数据包监视工具。整个 A

21、xis 就是关于处理 Message 的。当核心 Axis 处理逻辑在运行的时候,按顺序激活一系列的 Handlers。它们的顺序由两个因素来决定-部署配置以及 engine 的类型(客户端/服务器端)。传递到每个 Handler 调用的对象叫做 MessageContext。MessageContext 是一个结构体,包含很多重要的部分:请求消息、响应消息和很多属性 4。通过这种机制 Axis 实现了异步的服务模式。2.2 Spring + Hibernate系统采用主流的 J2EE 框架Spring、Hibernate 轻量级框架作为后台管理系统的框架。同时采用 log4j 来控制日志的生

22、成和管理。系统通过 Web Service 向客户端提供数据服务。图 2.1 Spring Hibernate 框架示意图基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块42.2.1 Spring是一个开源框架,是为了降低企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架 5。2.2.2 HibernateHibernate是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hib

23、ernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任 6。2.3 Android2.3.1Android 应用程序框架在Android 应用程序框架中,开发者可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用。任何一个应用程序都可以发布它的功能块,并且任何其它的应用程序都可以在遵循框架的安全性限制前提下,使用其所发布的功能块。该应用程序重用机制使得系统的核心应用和第三方软件之间实现平等,用户可

24、以自由替换系统组件 7。 图2.2 Android系统分层示意图第二章 系统相关技术概述5所有的应用程序都由一系列的服务组成,包括:1. 一个可扩展的视图可以用来创建应用程序视图,包括列表,网格,文本框,按钮,甚至包括一个可嵌入的Web浏览器。2. 一个内容管理器使得应用程序可以访问另一个应用程序的数据(如联系人数据库) ,或者共享它们自己的数据。3. 一个资源管理器提供非代码资源的访问,如本地字符串,图形,和分层文件。4. 一个通知管理器使得应用程序可以在状态栏中显示客户通知信息。5. 一个活动类管理器用来管理应用程序生命周期并提供常用的导航回退功能。 82.3.2 Android 应用程序

25、组件与其他操作系统不同,Android 程序没有静态入口点函数(如没有main()函数)。取而代之的是Android使用组件。ActivitiyActivity 用于呈现用户界面,例如菜单、文本框等。多个Activity 组成一个用户界面,但是每个Activity 都是独立的,并且继承自Activity 类。一个程序可以只有一个Activity,也可以有多个。一般来说,众多Activity 中的一个,被设置为程序启动后第一个呈现给用户,比如登录界面。每个Activity 有一个默认的窗口。一般来说,窗口文件填满屏幕,但是也有可能比窗口小或者在其他窗口上方。Activity也可以作为额外窗口,如

26、一个弹出对话框或者警告对话框。窗口的内容靠有层次的视图来呈现,视图是继承自View 类的对象。每个视图控制着窗口中的一个特殊区域。父视图包含子视图。此外,视图是与用户互动的。例如视图可显示为一个带背景图的按钮。Android已经有很多内置的视图,如按钮、文本框、滚动条、菜单、多选框等。ServiceService没有用户界面,而是运行在后台,例如播放背景音乐、从网络基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块6下载数据、计算数据并提供给Activity。Service继承自Service类。例如一个音乐播放器,通过Activity来提示用户从播放列表

27、选定歌曲,并开始播放。但是,播放本身不需要Activity处理,因为用户希望关闭Activity后歌曲会继续播放。因此相应的Activity会启动一个Service。当用户离开窗体后,Service 继续保持歌曲的播放。可以通过Service 公开的接口,与正在运行的Service进行通信。例如通过音乐播放器的Service 接口,可以允许用户暂停、启动、停止、继续播放列表。跟Activity以及其他组件一样,Service 运行在应用程序的主线程。因此他们不会阻塞其他的组件或者用户界面。通常在服务中启用另外的线程来做耗时的工作,如音乐播放。Broadcast receiversBroadca

28、st receiver 是一个接收并处理广播通知的组件。多数的广播是系统发起的,如地域变换、电池电量不足、图片获取、语言转换。程序也可以初始化一个广播(即事件) ,例如告诉其他的程序某些数据已经下载。程序可以拥有任意数量的broadcast receiver 来对应各种通知。所有的receivers 继承自 BroadcastReceiver 类。Broadcast receivers 不显示用户界面,而是启动一个Activity 来相应收到的通知,或者使用Notification Manager 通知用户。通知用户的方式可以有多种开启背景灯、振动设备、播放声音等。最典型的是在状态栏显示一个图

29、标,这样用户就可以点击查看通知内容。Content providerscontent provider 创建其他程序使用的数据集。数据可以存在系统的SQLite 数据库或者其他地方。content provider 继承自ContentProvider 类,实现一组标准的方法,来使其他程序可以存取数据。但是,程序并不是直接调用这些方法,而是使用ContentResolver 对象来调用这些方法。ContentResolve 的作用是管理 provider 和程序之间的多进程交互。Intents只要有需要调用特定组件的需求,Android就会让组件的程序进程运行,第二章 系统相关技术概述7如果组

30、件的进程没有启动,还要启动所需的进程。如果所需组件没有初始化,Android也会把它初始化。activities,services ,和broadcast receivers被叫做intents的异步的消息激活。intent是一个保存了消息信息的Intent 对象。对于activities和services,它传送了被请求的数据和特定的URI 。例如,它可能传达一个请求,叫Activity来呈现一个图片或者叫用户编辑某段文本。对于broadcast receivers,Internt 对象传送了通知的动作。例如,它可能通知相机的按钮被按下。service 通过调用Context.startSe

31、rvice()被开始。Android会调用服务的onStart() 方法,并把intent传送给它。类似的,intent可以通过Context.bindService() 方法建立同正在运行的服务的联系。服务通过onBind() 方法获取intent。如果服务没有启动, bindService()方法可以选择是否启动服务。例如,一个Activity 可能会想建立与后台播放音乐的服务的通信,这样用户就可以通过Activity控制后台的播放。因此Activity可能会调用bindService()方法来建立连接,然后再调用service 公开的接口。2.4 本章小结在绪论中,本文介绍了基于手机为客

32、户端的音频分享概念,以及目前主流移动互联网应用的开发架构面向服务的架构SOA,此外还介绍了一款目前十分流行的手机操作系统Android。其次,本文介绍了在构建分享平台时所需要用到的技术和框架其中包括服务端常用的轻量级框架Axis,Spring,Hibernate及客户端Android的常用组件。在下一章中我们将详细介绍系统实现的原理。基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块8第三章 系统原理3.1 后台管理框架后台管理系统框架主要由主流的轻量级框架 Spring、Hibernate 整合而成,系统选择以 Spring 框架为核心并整合 Hiber

33、nate 的框架的方式进行构建。系统通过 2 种框架优化组合实现分层解耦,一方面有利于项目组各角色的明确分工,提高开发效率,缩短系统开发周期;另一方面使系统具有良好的扩展能力和可维护性。Spring 框架提供了一种轻量级的企业业务解决方案,用于建立“快速装配式企业组件” 。运行时加载,引入 Spring 框架就可以使我们在编程过程中,依赖运行时注入而不是编程实现,从而进一步降低了高层模块与低层模块的之间的耦合性,实现模块在功能层面的重用。IoC 是 Spring 最重要的核心概念,也叫控制反转,也就是依赖注入机制。使用 IoC 模式,Spring 容器会自动注入配置文件中设定的对象,而不必在程

34、序代码中维护对象的依赖关系。在此基础上,Spring 还提供了包括声明式事务管理,RMI或 Web Services 远程访问业务逻辑,以及可以多种方法进行的持久化数据库的解决方案。通过应用这种机制,使得系统服务层、模型层、界面层充分解耦。Hibernate 框架是一个优秀的开放源代码的 JAVA 对象持久层轻量级框架。系统通过配置文件把 JAVA 域对象和数据库表之间建立起一个映射关系。这样,只需要通过操作这些域对象达到操作数据库的目的。3.2 Webservice 部分WebService 是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的 web 应用

35、程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过 web 调用。Web Service 是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式 (Http ,XML,Soap)来访问 Web Service,通过 Web Service 内部执行得到所需结果.Web Service 可以执行第三章 系统原理9从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他 Web Service 应用程序可以发现并调用它部署的服务。W e b S e r v i c e服 务W e b 服 务 请 求 者W e b 服 务 请 求 者统一语

36、义5 交互2查找web服务1查找web服务3返回web服务描述44图 3.1Web 服务工作原理示意图图中的每一道线中都标有一个数字,数字的大小代表了消息发生的先后顺序。在使用 Web Service 时,首先需要服务提供者将 Web Service 的描述信息提交到服务注册中心。当服务请求者需要使用 Web Service 时,它将首先通过发现服务查找需要的 Web Service,这就是图中的第二步。当找到合适的 Web Service 后,发现服务将返回请求者所需要的 Web 服务描述。在此之后,服务请求者并不是马上进行 Web Service 的调用,它将首先需要与服务提供者按照规定的

37、语义信息进行服务调用,不过更合理的做法是双方遵循一个共同的行业标准,这个标准可以有一些相关的行业协会制定。当一切准备工作完成后,服务者就可以直接与服务提供者进行交互,调用 Web Service 了。基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块10进程发现 、 聚集描述W e b S e r v i c e 描述 ( W S D L )S O A P通信H T T P / S M T P / F T P / J M S / I I O PW e b S e r v i c e 与应用程序协议栈主要使用 X M L 做为基础协议W e b S e r

38、v i c e 传输层可以采用各种传输协议图 3.2 Web 服务协议栈示意图Webservice 协议可以分为三层1.XML:描述数据的标准方法.2. 简单对象访问协议( SOAP)9 定义了 Web 服务参与者之间标准的交互协议, 为各类 XML 消息提供了一个简单且轻量级的传输机制但 SOAP 不对应任何对象模型, 可以被任何语言使用和实现。.3.WSDL10:Web 服务描述语言.4.UDDI11(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于 XML 语言的用于在互联网上描述商务的协

39、议。实际上,WebService 的主要目标是跨平台的可互操作性。为了达到这一目标,WebService 完全基于 XML(可扩展标记语言) 、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。3.3 本章小结在本章中详细解释了后台框架 Spring+Hibernate 的原理和工作方式,第三章 系统原理11以及 Webservice 协议的原理、机制、协议等相关内容,通过本章,读者可以了解系统的调用机制。在下一章本文将介绍系统的总体设计。基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块12第四章

40、总体设计4.1 系统概述4.1.1 开发背景近年来,随着互联网的迅速发展,全国各地的流媒体业务通过网络发布给用户,用户通过 PC 收听这些节目,流媒体节目以其独特的魅力给人们带来一种全新的媒体感受。同时,随着无线互联网络的高速发展和 3G 的应用以及智能手机的日益普及,以网络为载体,智能手机为客户端的流媒体服务形式已经成为了一种时尚 1。而收听笑话又是一种经久不衰的娱乐形式,那么是否可以利用当前无线网络的平台,使广大客户以一种全新的方式来享受这种娱乐形式呢,这就是本课题要研究的内容。在课题中我主要负责与音频分享子系统和 Web 服务模块。通过子系统用户可以用手机录制自己的笑话,利用网络传输到服

41、务器端,在服务器端进行审核后,会将音频发布到流媒体服务器中,这样其他的客户端用户就可以点播用户分享的笑话了。数据流媒体服务器数据库服务器便携式网络设备用户W e b s e r v i c e服务器无线网络 ( 3 G , W I F I )图 4.1 系统部署示意图第四章 总体设计134.1.2 系统模块图分享系统客户端 服务端音频解析上传模块文件上传模块同步模块W A V解析A M R解析录音模块上传模块W e b S e r v i c e 模块笑话列表目录列表登录验证注册模块动漫列表动漫模块图 4.2 系统模块图客户端1、 录音模块,利用手机的录音设备,录制用户的声音。2、 上传模块,

42、利用无线网络与服务器取得联系,并采用 HTTP 协议将刚刚录制的音频文件传给服务器。3、 漫画模块,利用 Web 服务与服务器取得联系获得漫画下载地址,采用 HTTP 协议进行下载,利用多线程和多缓冲技术,实现漫画流畅下载和展示。服务端1、 Webservice 模块,通过 DAO 层访问数据库,完成用户服务逻辑,供用户调用。基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块142、 音频文件解析模块,通过对音频文件(包括 AMR、WAV) ,内容的解析,根据不同的计算公式计算音频文件的时长。3、 文件上传模块,通过 Servlet 接收并分析客户端请求,

43、转移请求中的多媒体数据。4、 同步模块,对上传文件和文件描述信息进行同步。保证同一用户的上传文件与内容彼此相关联。4.1.3 基于 SOA 的系统架构SOA 是指为了解决在 Internet 环境下业务集成的需要而实现的一种软件系统架构。SOA 提倡开发者开发分布式的软件系统,所有的功能都通过服务的形式实现 12。数据库服务 ( S p r i n g + A X I S )笑话列表服务分类列表服务用户注册服务用户评分服务用户上传服务搜索笑话服务手机客户端笑话列表分类列表用户注册用户评分用户上传搜索笑话请求服务H i b e r n a t e数据库访问O R M调用数据库W S D L静态发

44、布获取服务 查找服务返回参数发布服务图 4.3 SOA 系统架构图基于上面的前提,下面本文得出了 SOA 的 5 个优点:(1) 编码灵活性:通过对模块化的底层服务采用不同组合方式来创建高层服务,从而实现重用。由于服务使用者不直接访问服务提供者,所以第四章 总体设计15这种服务实现方式本身也可以灵活使用。(2) 支持多种客户类型:借助精确定义的服务接口和对 XML、Web服务标准的支持,可以支持多种客户类型,特别是手机、PDA 等移动访问渠道。(3) 更易维护:服务提供者和使用者的松散耦合关系及对开放标准的采用,使得维护某一模块,不会影响其他模块。(4) 更好的伸缩性:依靠服务设计、开发和部署

45、所采用的结构模型实现伸缩性。服务提供者可以彼此独立调整以满足服务需求。4.1.4 系统开发环境使用工具 描述Eclipse Eclipse 可以用来开发 Java 应用程序、Web 应用程序,甚至是 C+程序,因为 Eclipse 平台是一个开放的平台,可以通过加载插件实现功能的扩充。Eclipse 的核心被设计为可以动态发现、装入和运行插件,平台中的每个子系统本身是有实现某些关键功能的一组插件构建的,安装不同的插件可以使得 Eclipse 具有不同的功能和开发能力。Google Code google code 是一个开源社区,它提供了 svn、cvs 等多种代码管理方式,可以帮助你管理项目

46、的 revision、发布、版本等。ADT Android Development Tools表 4.1 系统开发环境4.1.5 系统运行环境分类 运行环境服务端 Apache Tomcat 6.0基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块16客户端 Android 1.5 以上版本表 4.2 系统运行环境4.2 本章小结本章我们详细阐述了项目的总体设计包括项目背景、模块划分、服务端和客户端模块的描述,SOA 架构的介绍和选择依据,以及系统选用的平台环境、开发工具、版本控制工具等。下一章将介绍系统的详细设计。第五章 系统详细设计17第五章 系统详细

47、设计5.1 服务端详细设计5.5.1 Webservice 模块设计LoginService-UserDAO userDAO+String Login(String userName, String passWord)JokeListService-JokeDAO jokeDAO-CatalogAndJokeDAO catalogAndJokeDAO-CatalogDAO catalogDAO+List jokeListService(String catalogId)ScoreService-JokeDAO jokeDAO+scoreService() TopicListService-Ca

48、talogDAO catalogDAO-topicListService()RegisterService-userDAO+registerService(String userName, String passWord)SearchService+JokeDAO jokeDAO+JokeFileDAO jokeFileDAO+List searchByAllInfoToId(String info)+List searchByAuthor(String authorName)图5.1 Webservice模块类图1、获取分类列表catalogService catalogListclient

49、1 : getCatalogList()2 : findByPage()3 : catalogList4 : catalogList图5.2获取分类列表顺序图基于 Android 音频笑话分享平台音频、漫画分享子系统及 Webservice 模块182、获取笑话列表catalogAndJoke:ArrayListloopjokeListService catalogAndJokeDAO jokeDAO jokeFileclient1 : jokeListService()2 : getCatalogAndJoke()3 : catalogAndJoke4 : getJoke()5 : joke6 : getJokeFile()7 : JokeFile8 : createViewOfJoke()9 : jokeList()图5.3 获取笑话列表顺序图3、评分client scoreService jokeDAO1 : scoreService()2 : score()3 : isSuccess()4 : isSuccess()图5.4 评分顺序图第五章 系统详细设计194、搜索opt=1optopt=2optclient searchSer

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报