软件开发技术篇1
摘要:当今社会,SOA、Web服务快速发展,软件开发技术已经得到了广泛应用,Web服务形式被大量的软件所应用,从而更好地服务于广大用户。随着当今网络中的服务类别增加和服务数量上升以及广大用户对服务QoS的要求越来越高,服务的质量和安全成为了面向服务软件开发技术研究的首要任务。
关键词:面向服务软件;开发技术;应用
鉴于面向服务架构开发的软件有其固有的属性和特点,其内身的高内聚、低耦合特性,使面向服务软件更加稳定高效,再加上面向服务软件的运行不受平台的影响,使面向服务软件在我国企业系统集成和软件发展中得到广泛应用,现已成为我国企业运用系统集成和开发新系统的重要措施。
1当今面向服务软件开发技术的研究现状
随着经济的发展和社会的进步,当今时代已经成为了信息化时代,计算机软件开发技术水平不断提高,网络技术发展迅速。随着计算机网络的快速发展和不断进步,信息服务系统在我国社会发展和经济增长方面起到越来越重要的作用。伴随计算机网络的发展,Web服务技术水平也随之提高,人们通过计算机网络获取丰富的信息资源,对于计算机软件各方面的要求也越来越高。虽然面向服务软件开发技术在一定程度上已经取得了阶段性成果,但是还是无法完全满足当今人们对于计算机软件的需求,在今后的面向服务软件开发技术的研究过程中,还需不断探索和创新,从而不断完善和提高面向服务软件开发技术,促进面向服务软件开发技术的发展。虽然当今面向服务软件开发技术在不断完善和进步,但是还是存在着各种各样的问题,例如软件复用程度不够,软件集成性能得不到提高,这些问题严重影响着用户对于服务软件的使用,也阻碍了我国面向服务软件开发技术的发展。利用SOA开发计算机软件时,开发工作人员只需关注Web服务和用户需求,至于二者之间的关系由服务接口所负责,无需开发工作人员单独的研究。利用SOA架构开发服务软件,在服务软件的设计、分配、功能和维护方面都有着独特的优点和好处,因此成为了服务软件开发技术研究的重要关注点。在面向服务软件开发过程中,软件系统的重要开发环节就是服务环节,服务也是服务软件的首要要求。由于服务软件的功能不全面,服务具有局限性,导致服务软件很难发挥完整功能作用,不能切实地真正满足人们的需求。因此,在今后的面向服务软件开发研究过程中,要不断完善服务软件的功能,加强服务软件的性能,研究出功能更加全面的Web服务从而更好地应用于服务软件。总而言之,在面向服务软件开发过程中,应用科学合理的服务组合来完善Web服务功能尤为重要。当今我国的面向服务软件开发技术基础较差,起步较晚,虽然在一定程度上已经取得了阶段性成果,但是在面向服务软件开发技术研究工作中,还是存在着各种各样的问题。为此,我们有必要对面向服务软件开发技术进行探究,从而提高我国面向服务软件开发技术水平,让面向服务软件开发技术更好地服务于社会,促进我国信息化的发展。
2Web服务软件开发技术的基础
为了更好地研究面向服务软件开发技术,我们有必要对Web服务软件开发技术的基础进行了解和探究,从而切实地提高服务软件开发技术水平,让服务软件在今后的生活和工作中发挥更大的作用。
2.1软件服务
面向服务软件技术是随着信息化时代的来临而衍生出来的一种新技术,它使计算机软件与互联网更好地进行匹配,切实地促进了我国互联网技术的发展。面向服务软件的首要目标就是为用户服务,它依靠功能系统为用户提供服务,方便用户利用计算机网络来享受服务软件的服务功能。所谓服务的概念,就是应用具有业务功能的系统模块,让用户通过服务接口进行工作或者开展业务。而服务架构中的服务作用,在工作方面来说就是为企业业务提供服务,就计算机网络来说,就是通过Web服务方式对软甲进行封装,发挥其设计功能。服务有着各种各样的优点和特点,这为其提供用户服务奠定了坚实的基础。用户在使用服务时,鉴于服务边界清晰的特点,更加方便的通过接口获取服务。依据服务的兼容性特点,用户在使用服务过程中,可以很方便的与他人进行信息交流。同时,各个服务功能之间相互***,松散耦合,在用户使用服务功能时,没有必要了解服务细节,较少了不必要的麻烦。另外,在进行服务设计时,要遵循相应的服务设计原则。首先,服务的命名要让用户容易记住,服务应内聚完整,服务封装内部细节以及服务无状态。只有对服务进行科学合理地设计,才能保证增加用户对于服务的使用,促进服务的进一步发展。
2.2SOA和Web服务技术基础
面向服务架构(SOA)是一种应用广泛的设计架构,它具有松散耦合和粒度大的优点,使系统服务利用服务接口很好地进行连接,利用服务接口标准化和各项服务之间统一化来实现通信过程。普通的SOA架构由服务管理、服务开发工具、服务组件、服务总线、基础服务构成。另外一个服务架构就是云服务架构,云服务架构由IaaS、PaaS、和SaaS构成,IaaS是组成云服务构架的基础部分,PaaS是云服务平台,SaaS的作用是为用户提供服务。云服务架构的发展依据于虚拟化技术和分布式计算以及海量存储技术,虚拟化的发展过程依据于基础设施,分布式计算和海量存储技术的发展构建了云服务平台,随着云服务架构的不断发展,云服务技术水平的不断提高,软件和平台以及基础设施三者之间的 关系会更为紧密。Ucocloud模型主要由web前端、master主控服务以及worker工作机构成。其工作核心是master服务,它负责调整任务和管理worker,worker负责不同的业务,增强其计算能力。master主控服务主要是调整和维护Task和worker的分布顺序,web前端负责获取master主控服务中的数据信息,worker工作机主要是对具体的业务进行执行。WebService是Web的一个应用程序,它是***的、可进行编程的应用程序,它的描述、协调、配置应用程序依靠XML来完成。WebService结构主要由服务提供者和服务以及服务使用者构成,其三者发挥各自的功能来实现WebService的服务功能。WSDL是一种描述服务的语言,其是基于XML格式的描述语言。WADL主要由Types、Message、Opeera?tion、PortType、Binding、Port、Service构成,依靠这些元素对服务进行语言描述。WSDL的语言描述具有开放性特点,便于WSDL与其它语言之间进行相互访问,增加了服务之间的网络传输协议种类和消息格式。SOAP是一种简单的服务访问协议,可以方便WebService在互联网中进行信息交换,提供了信息交换平台。UDDI是一种统一服务描述语言,为用户提供注册服务。UDDI主要由UDDI数据模型和UDDIAPI以及UDDICloudService所构成。
3服务软件组合技术研究
如今,随着社会的进步和计算机网络技术水平的不断提高,用户可以选择和使用的服务软件日益增加,Web服务形式被广泛地应用到当今的服务软件之中。随着Web服务的增加,使得过多的功能产生相似或者重复的现象,还不能完全满足用户的功能需求。为此,加紧研究服务软件组合技术尤为重要。Web服务组合,使相似或者重复的功能合并,在根据用户的需求提炼出更多的功能,使Web更好地满足用户的功能需求。
3.1Web服务组合
Web服务主要由服务提供者、服务请求者和服务组成,通过三者的相互合作来完成服务过程。用户利用UDDI,依靠Web提供的服务和发现以及绑定来完成网络注册,从而使用服务。现如今,我国大多数的网民都是服务请求者。从过程模型方面来说,Web服务是依靠控制流和数据流完成服务过程的,从构成单元来说,Web服务内部单元可以进行相互合作和协调,完成服务过程。Web服务组合,有着固有的属性和特点,其动态性和自适应性可以通过UDDI对Web服务进行动态管理。其次层性和可扩展性,可以使Web服务产生新的功能,更好地适应用户的需求。Web服务组合,还可以更大程度的提高软件的开发效率,提高组合的自动化程度。
3.2Web服务组合的方法
Web服务组合的方法大致上可以分为两大类,静态组合和动态组合。静态组合以往的组合方法是依靠于编码方式,但是依靠编码对静态服务进行组合,使组合方式不够灵活,效率很低,严重影响Web服务的组合过程。因此,当今静态组合主要依靠于模板对静态服务进行组合。动态服务组合当今主要有三种组合方式,基于Petri网的服务组合方式、基于BPEL的服务组合方式和基于网络组件的服务组合方式。无论是静态服务组合还是动态服务组合,目的都是不断地完善用户对于网络的服务功能需求,使人们更加受益于当今信息化时代。
3.3基于语义的服务组合
在调查用户对于服务的满意程度方面,Web服务质量的算法是关键算法。当今,五维的Qas模型应用广泛,依靠其执行时间、执行成本、服务声誉、可靠性和可用性对Web服务进行衡量。为了切实地提高计算机网络自动选择Web服务的能力水平,语义Web服务是必不可少的。语义Web服务对服务的各种属性和特点进行分析和探究,从而更好地为用户提供服务。现如今,用户可以依靠关键字便捷地获取计算机网络信息,离不开语义Web。
4服务软件信任评估研究
服务软件的应用给人们的生活和工作带来了很大的便利,促进了社会信息化程度的发展。为此,我们有必要对服务软件的信任评估进行研究。
4.1服务信任
服务信任,是用户对于所使用服务的一种相信,这种相信依靠自身的判断力和网络经验。通过用户对于服务的信任度分析,可以使用户更加放心地使用服务。服务信任有着固有的性质,主要是主观性、动态性、可度量性、传递性、时间衰减性和非对称性。对于服务的信任,可以分为身份信任和行为信任,直接信任和间接信任。
4.2面向服务的信任评估模型
面向服务的信任评估模型的建立,要依靠服务的属性和特点来明确划分服务的服务范围,并且对QaS的非功能属性加以分析,从而逐步建立面向服务的信任评估模型。首先,服务提供者要在服务注册中心进行注册,然后向信任管理器发出信任数据,申请信任信息,然后信任管理器对服务进行信任评估,才能完成信任服务评估过程。
5基于SOA的GPIMS系统开发实践
基于SOA的GPIMS系统开发实践,要对GPIMS系统的结构进行了解,对其建模过程和服务设计过程加以分析。在这过程中,基于.NET平台的SOA结构起到了关键作用。最后,还要依据QoS标准对服务进行信任评估测试,已达到服务软件的信任要求。
6总结
如今,面向服务软件已经在我们的工作和生活中得到广泛应用,为此,今后还需不断地对面向服务软件技术进行探索和创新,让面向服务软件促进我国的计算机网络发展,推动我国社会的进步。
参考文献
[1]管华,应时,贾向阳等.面向服务软件异常处理研究综述[J].计算机科学,2013,40(4).
作者:徐佳 单位:渤海大学信息科学与技术学院
软件开发技术篇2
【摘要】以Struts、Hibernate、Spring为代表的Javaweb软件开发框架技术在应用程序开发过程中扮演着举足轻重的作用,本文以框架技术为题,介绍Javaweb软件开发过程中常见的开发框架,为合理有效利用开发框架提供参考。
【关键词】Javaweb;软件开发;框架技术
一、何为Javaweb软件开发框架
框架技术是为了解决在软件开发过程中的某一类通用问题而出现的一种软件技术,在Javaweb软件开发过程中,开发者通常需要面临三个方面的问题,首先即分层问题(MVC),如何将表现层、控制层、模型层进行有效的隔离,实现应用代码的解耦;其次是持久化的问题,Java是面向对象的语言,而数据持久化过程则是进行SQL语句的操作,如何将对象进行面向对象的持久化操作;再次,则是应用软件的集成、全局性配置问题,避免在软件代码中出现对象的生成过程,简化统一性的操作问题等都是Javaweb软件开发过程中面临的问题,因此,Struts、Hibernate、Spring框架应运而生,为开发者简化开发过程、提供项目管理方法提供了便利。除此之外,还存在日志管理问题、测试问题,下文则针对常见的Javaweb框架技术进行简要的论述。
二、常见的Javaweb软件开发框架技术介绍
(一) Struts框架
Struts框架作为Apache的顶级项目被Javaweb开发领域广为应用,该框架软件较好的实现了Javaweb软件开发所提倡的MVC应用架构。Struts有两个版本,即Struts1和Struts2,这两个版本之间并非传统意义上的继承发展关系,其中Struts2是由WebWork软件发展而来的,因此Struts1与Struts2之间差异较大。Struts框架主要是基于Javaweb API来实现的,将“表现层”与持久化层有效地隔离开来,使得应用开发者能够更加专注于核心业务,提高开发效率。Struts框架通过XML文件对应用进行配置,通过对来自浏览器以及服务器的请求和处理结果进行展示,达到应用软件表现层的功能需求,一般而言,Struts通过对浏览器提交的数据进行对应Pojo对象的封装,再通过Pojo来进行具体业务逻辑和数据持久化的操作实现面向对象编程,另外,对于服务器返回的数据同样是以Pojo类进行操作的,不同的是,Struts1要求必须继承于Action类,而Struts2就可以通过普通Pojo类来实现,将封装好的Pojo对象,通过Action的调用完成具体的业务逻辑,从而实现了整个Web应用的工作流程。总之,Struts框架是当前流行的表现层框架,在Javaweb开发中非常流行。
(二) Hibernate框架
Hibernate框架是ORM(Object Relational Mapping对象关系映射)数据持久化框架,该框架主要是对应数据库的操作,在没有ORM框架之前,应用开发者对数据库的操作主要是通过字符的拼接形成相应的SQL语句,这使得面向对象的开发过程出现了非面向对象的操作步骤(当然这对于用户而言是透明的),因此,以Hibernate框架为代表的ORM框架在应用程序开发过程中得到了广泛的应用。利用Hibernate,开发者可以通过save、delete、update等方法进行面向对象思维的数据库操作。Hibernate框架的核心接口主要有Session(执行CRUD操作)、SessionFactory(完成对框架进行初始化操作)、Transaction(事务处理接口)、Query(主要是完成查询操作)、Criteria(创建并执行面向对象的标准化查询)和Configuration(对框架进行配置操作)等,通过操作Hibernate框架的接口不仅仅能够实现数据库的一般性CRUD操作,同时还可以处理更加高级的事务性操作;除此之外,Hibernate还提供了缓存管理技术以及“懒加载”技术,通过缓存技术实现更加高效的数据持久化操作和执行效率。当然,Hibernate同样提供了传统意义的SQL操作。总之,Hibernate框架是Javaweb应用开发时最常用的ORM持久化框架技术之一。
(三) Spring框架
Spring框架主要是作为一种集成性技术为Javaweb应用开发提供便捷,一般认为Spring框架的核心任务主要体现在两个方面即IOC(控制反转)和AOP(面向切面编程),IOC主要是将对象的生成过程交予Spring框架来完成,开发者仅仅需要在相应的配置文件中进行简单的配置即可(有时候将IOC任务解释为DI(依赖注入),这主要是从软件代码的层次结构的角度来分析的);AOP技术则是进行横向编程的一种编程技术的创新,通过“切面”的添加十分便捷的实现用户身份鉴别、日志管理和事务管理等工作,使得开发者能够更加专注于核心业务的处理过程。当然,Spring框架除了核心业务以外,还有Spring MVC、Spring DAO等组件为开发者提供开发帮助。由此可见Spring框架正如其名一样,是Javaweb开发者的春天,有时候形象的称为应用程序的“大管家”,实现应用的全局性控制,除此之外,Spring框架不仅仅在Java领域有着广泛的应用,在.net应用程序开发时也同样发挥着非常关键的作用。总之,Spring框架技术作为集成性的框架也是非常重要的。
(四) JUnit框架
软件测试作为验证软件功能性、稳定性以及可靠性的重要阶段同样具有非常重要的意义,在Javaweb开发领域通常应用JUnit进行单元测试。对于软件的测试(这里主要是指白盒测试)通常包括几个步骤,回归性测试、单体测试、集成测试、真实环境下的测试,在利用JUnit进行Javaweb项目测试时通常只要将测试类继承TestCase即可进行自动化测试,目前多数的Java IDE都已经继承了JUnit测试工具,通常测试指标包含几个方面的内容,首先是逻辑代码功能的正确性,这是最为基础的测试内容,其次还包括代码的覆盖率,出现了不可达的代码对于应用程序是无意义的,最后则是性能和稳定性的测试,当应用并发性较高时应用程序能否进行稳定运行同样是非常关键的。总之,JUnit单元测试框架是进行Javaweb软件开发过程中最为常见和应用广泛的测试框架,作为程序员也应进行熟练的掌握。
(五)其他的框架技术介绍
上述框架是进行Javaweb开发过程中最为常见的开发框架,尤其是以Struts、Hibernate以及Spring组成的SSH框架组合几乎是企业级应用开发的必备框架,初次之外还有一些别的框架技术,例如以Log4j为代表的日志记录框架,使得应用开发者可以深度定制应用程序运行日志,配合断点等技术,快速定位查找程序BUG;同样的还有JSF(基于组件和事件驱动)表现层框架;追求高效性的iBATIS持久化框架等等,受限于篇幅的限制,本文就不一一的进行介绍了。除了Java服务器端的应用框架以外,在JSP页面同样有着javascript开发框架,如非常著名JQuery、EXT等等,应用开发者应根据应用的需求进行合理的选择和应用,实现开发效率和应用稳定的高度平衡。
三、Javaweb框架技术的不足之处
在Javaweb项目的开发过程中应用框架技术最主要的目的主要是实现项目开发的高可靠性以及开发效率的保障,但是随着框架技术的不断发展,开发者要熟练的应用框架技术进行项目开发还需要进行不断的学习和实践,这对于一些刚入门的开发者是非常不利的,例如在利用SSH框架组合进行开发时,往往由于各种配置文件的问题导致项目开发过程难以协调,使得入门级的开发人员工作难度急剧提高;除此之外,在进行一些非常简单的项目开发时,过多的强调框架技术的应用也是非常不可取,框架技术的引用容易造成项目复杂度的提升,不利于简单项目的开发。因此,Javaweb项目开发时,开发者应合理的选择框架技术,根据项目的实际情况进行有取舍的选择,从而项目过程的有序性。
四、小结
本文主要介绍了Javaweb程序开发过程中常见的应用框架技术,并浅析了框架技术的不足之处,为开发者合理选择、应用框架技术提供参考。
参考文献:
[1]王循. Java Web快速开发框架中部分关键技术初步研究[D].吉林大学,2015.
[2]刘艳春,洪晓慧. Struts2框架核心配置文件的研究与应用[J]. 计算机技术与发展,2013,02:77-81.
[3]翟剑锟. Spring框架技术分析及应用研究[D].中国科学院大学(工程管理与信息技术学院),2013.
软件开发技术篇3
【文章摘要】在计算机网络与相关技术不断发展的背景下,作为一种有力的通信渠道,基于Web的分布式应用与Client/Server应用相比优越性十分明显,这使得多种应用系统在开发之时由基于PC或局域网的Client/Server转向基于Browser/Server的B/S体系结构应用的发展,本文以此为背景,对以B/S体系结构为基础的软件开发相关技术进行分析,涉及PHP技术、VisualBasic技术与SQL标准语言等内容。
【关键词】B/S结构;PHP;VisualBasic;SQL标准语言
Internet/Intranet技术,尤其是基于Web(HTML,HTTP)的信息与检索技术的飞速发展使得整个应用系统的体系结构发生了很大的变化,逐渐从C/S的主从结构演变为灵活的多级分布式结构。在当今以Web技术为核心的信息网络时代,上述变化为体系结构的应用赋予了新的内涵。实际上,新型的多级分布式结构就是浏览器/服务器体系,亦即Browser/Server(B/S)体系。
1.基于Web的B/S体系结构
B/S模式应用系统由两部分组成,分别为浏览器(Browser)与服务器(WebServer,OtherServer)。服务器上有数据(data)与各种应用程序(App),通过对服务器上的应用程序进行***,浏览器可以对其功能实现动态扩展,服务器的结构具有多层次性,B/S系统所处理的各种数据类型亦能够进行动态扩展。借助于浏览器,用户可以向在网络上进行分布的各个服务器发出某种请求,在接收到相应的请求之后,服务器会对其进行处理,并将用户所需信息最终再返回到浏览器上。B/S结构能够对客户机的工作进行简化,通过对B/S体系的应用,服务器会承担更多的工作,相对地,客户机上则只需配置少量客户端软件即可,服务器会完成具体的数据库访问与应用程序执行等工作。浏览器在发出请求之后,WebServer会对其他一系列工作进行处理,例如数据请求与加工、结果返回、动态网页生成等。实际上,B/S体系结构是对二层Client/Server结构下的事务处理模块与客户机任务的分离,它利用Web服务器单独组成一层来承担与完成各项任务,通过将负荷向Web服务器进行分配,大大减轻了客户机的压力。
2.基于B/S结构的软件开发技术
2.1PHP技术
PHP为超级文本预处理语言的英文首字母简写,是一种HTML嵌入式语言。在某种意义上,PHP与ASP有着一定的相似性,他们都属于HTML嵌入式的脚本语言。PHP在服务器端的实现风格与C语言类似,现阶段,很多网站编程人员都对PHP语言有较高的应用率。除了自己的创新,PHP语法还与C语言、Java语言以及Perl语言相结合,与CGI语言及Perl语言相比,PHP有着更快的动态网页执行速度。在具体的执行过程中,CGI会完全生成HTML标记,因此其工作效率相对而言会比较低,而PHP会在HTML文档中进行程序的嵌入,这就决定其有着较高的效率;与同是HTML嵌入式脚本语言的JavaScript相比,PHP会对服务器端的程序予以执行。此外,PHP所具有的功能非常多,CGI与JavaScript所具有的全部功能PHP都可以实现,不仅如此,它还可以对9成以上的现行数据库与操作系统提供支持。
2.2VisualBasic技术
20世纪90年代初,微软公司推出了VisualBasic语言,它是一种面向对象的可视化程度较高的高级程序设计语言,实现了与事件驱动方式相关理论及开发技术的结合,被用在以Windows环境为基础的各种应用程序的开发环节中。VisualBasic易于学习与掌握,其强大的功能在一定程度上甚至可以同专业的Windows开发工具SDK相媲美。可视化环境下VisualBasic可以方便且迅速地对Windows***形界面进行创建,借助于这一技术,很多程序都可以被开发出来,例如互联网络、数据库管理以及客户/服务器模式等。VisualBasic技术以其所具有的可视化设计方法与环境优势降低了应用程度开发的复杂程度。
2.3SQL标准语言
SQL是英文StructuredQueryLanguage的首字母简写,即结构化查询语言,其主要功能在于同不同数据库建立良好的联系并进行有效沟通。以美国国家标准协会(ANSI)所提出的相关规定为依据,SQL属于一种关系型的数据库管理系统标准语言,它应用在多种程序的执行与操作过程中,例如对数据库中的相关数据进行更新与提取等。现阶段,SQL语言标准在常用关系型数据库管理系统中的应用比较广泛,这些数据库管理系统有DB2、Sybase、Oracle、Access以及SQLServer等。虽然很多数据库会对SQL语句进行一定的再开发与扩展,但它们依旧可以对Update、Delete、Drop等标准SQL命令加以使用,以对各种数据库操作予以执行。SQLServer的开发起始于Microsoft与Sybase等公司,并于1988年推行第一个版本,它是一种与数据库有着紧密联系的管理系统。当WindowsNT之后,Microsoft与Sybase两个公司关于SQLServer的开发产生了不同的观点并出现分歧,最终结束合作并进行各自的发展。其中,Microsoft公司选择将SQLServer引入到WindowsNT中,并加大力度对SQLServer在WindowsNT操作系统中的应用进行开发与推广;而Sybase公司则将更多的精力放于SQLServer在UNIX系统中的应用之上。
3.结语
在软件规模及其复杂程度日益增加的背景之下,系统总体结构设计与说明亦越来越重要,甚至比特定算法与数据结构选择的重要性还要大很多。作为对系统高层设计予以描述的一种手段,软件体系结构逐渐发展为软件工程领域研究的一个重点与热点。本文所进行的体系结构开发技术的研究,对于软件工程领域来说有着一定的理论借鉴意义。
【参考文献】
[1]鲁华栋,裴祥.B/S体系网络结构计算机软件开发的研究[J].信息通信,2013(6):87-87.
[2]吴小青.基于B/S体系结构软件开发技术研究[D].江南大学,2008.
[3]张丽,张艳.从C/S到B/S再到三层(多层)结构[J].河南师范大学学报:自然科学版,2004(8):24-27.
作者:庄严 单位:营口理工学院
转载请注明出处学文网 » 软件开发技术范文精选