免费智能真题库 > 历年试卷 > 系统架构设计师 > 2015年下半年 系统架构设计师 下午试卷 论文
  第1题      
  知识点:   电子商务   高可用   细节   程序设计   可靠性   可伸缩性   可用性   维护   应用服务

 
应用服务器基础软件
应用服务器是在当今基于互联网的企业级应用迅速发展,电子商务应用出现并快速膨胀的需求下产生的一种新技术。在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足企业级应用所需要的高可用性、高性能、高可靠性可伸缩性等实际需求。应用服务器技术的出现,能够加快应用的开发速度,减少应用的开发量。通过隔离底层细节,便于商业逻辑的实现与扩展,同时也为企业应用提供现成的、稳定的、灵活的、成熟的基础架构。
 
问题:1.1   请以“应用服务器基础软件”为题,依次从以下三个方面进行论述:
1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。
2.论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能?
3.详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。
 
 
 

   知识点讲解    
   · 电子商务    · 高可用    · 细节    · 程序设计    · 可靠性    · 可伸缩性    · 可用性    · 维护    · 应用服务
 
       电子商务
        电子商务是指买卖双方利用现代开放的Internet网络,按照一定的标准所进行的各类商业活动,主要包括网上购物、企业之间的网上交易和在线电子支付等新型的商业运营模式。狭义的电子商务是指利用Web提供的通信手段在网上买卖产品或提供服务;广义的电子商务除了以上内容外,还包括企业内部的商务活动,如生产、管理、财务等,以及企业间的商务活动,即把买家、卖家、厂家和合作伙伴通过Internet、Intranet和Extranet连接起来所开展的业务。
        电子商务分3个方面,即电子商情广告、电子选购和交易,电子交易凭证的交换、电子支付与结算,以及网上售后服务等。参与电子商务的实体有4类:顾客(个人消费者或集团购买)、商户(包括销售商、制造商和储运商)、银行(包括发卡行和收单行)及认证中心。电子商务主要有3种模式:
        (1)B2B(Business To Business,企业对企业)是指企业与企业之间通过互联网进行产品、服务及信息的交换。B2B电子商务模式包括两种基本模式,一种是企业之间直接进行的电子商务(如制造商的在线采购和在线供货等),另一种是通过第三方电子商务网站平台进行的商务活动。
        (2)B2C(Business To Customer,企业对个人)是商家对消费者,也就是通常说的商业零售,即直接面向消费者销售产品和服务。最具有代表性的B2C电子商务模式就是网上零售网站。B2C电子商务的模式并不是唯一的,专门依靠网站开展网上零售只是B2C电子商务的一种形式,企业网站也可以开设面向消费者的在线直接销售,这也是B2C电子商务的表现形式。
        (3)C2C(CustomerTo Customer,个人对个人)是消费者对消费者的交易,简单地说就是消费者本身提供服务或产品给消费者,最常见的形态就是个人工作者提供服务给消费者,如保险从业人员、促销人员的在线服务及销售网点或是商品竞标网站。此类网站非企业对消费者,而是由提供服务的消费者与需求服务的消费者私下达成交易的方式。C2C商务平台就是通过为买卖双方提供一个在线交易平台,使卖方可以主动提供商品上网拍卖,而买方可以自行选择商品进行竞价。
 
       高可用
        NoSQL在不太影响性能的情况,就可以方便地实现高可用的架构。如Cassandra、HBase模型,通过复制模型也能实现高可用。
        当然,NoSQL也存在很多缺点,例如,并未形成一定标准,各种产品层出不穷,内部混乱,各种项目还需时间来检验,缺乏相关专家技术的支持等。
 
       细节
        在具体细节方面,对于不同的风险,要采用不同的应对方法。在信息系统开发项目中,常见的风险项、产生原因及应对措施如下表所示。
        
        常见的风险及应对措施
        
 
       程序设计
               类和继承
               1)类
               一个类是一些属性和方法的封装体,类的定义用关键字class声明,用关键字public、protected、 private指定类的成员的存取控制属性:private(私有)成员只有类内部的方法才能访问,protected(保护)成员派生类和同一文件夹下的类可以访问,public(公有)成员可以从类的外部访问。默认是public。这体现了面向对象的以下指导思想:尽量将类内部的细节隐藏起来,对类的属性的操作应该通过类的方法来进行。
               另外,public还可以用来修饰类,public类能够被其他文件夹下的类访问,非public类只能被同一文件夹下的类访问。一个.java文件中可以包含多个类,会被编译成多个.class文件,但只能有一个public类,而且该类名要和文件名一样。
               2)继承
               Java中用关键字extends表示类间的继承关系。父类的公有属性和方法成为子类的属性和方法,子类如果有和父类的同名、同参数类型的方法,那么子类对象在调用该方法时,调用的是子类的方法,亦即方法的重置。如果想要调用父类的同名方法,需要用super关键字(属性同理)。
               子类的对象可以作为祖先类的对象使用,即所谓类的向上转换,反之则不行。具体表现在:可以用子类对象来对祖先类对象赋值,可以用子类对象作为实参去调用以父类对象为形参的函数。
               对象的引用本质
               Java中的对象实际上是对象的引用,本质上和C语言中的指针是一样的;但也和C语言指针不尽相同,例如,不能自增、自减,不能强制转换成其他类型。
               例如:
               
               构造方法
               构造方法就是类的对象生成时会被调用的方法。每个类至少有一个构造方法(Constructor),也称构造函数。构造方法的名字和类名相同,没有任何返回类型。每个类都有一个默认的构造方法,但当用户自定义了构造方法后,默认的构造函数就不再有效了。
               重载
               同一个类中的两个或两个以上方法,名字相同,而参数个数不同或参数类型不同,称为重载。注意:不能有各方法名字和参数都一样,而仅仅返回值类型不同。
               静态属性和静态方法
               静态属性和静态方法的声明用关键字static实现,一个类的静态属性只有一份,由所有该类的对象共享。不需要创建对象也能访问类的静态属性和方法,访问方式为"类名.静态属性或静态方法",静态方法与对象无关,因此不能在静态方法中访问非静态属性和调用非静态方法。
               this和super关键字
               这两个关键字颇为重要。this代表当前对象,super代表当前对象的父类的东西。
               this主要用途有以下两个。
               (1)一个构造函数调用另一个构造函数,对构造函数的调用必须是第一条语句。
               (2)将对象自身作为参数来调用一个函数。
               super的用途如下:在子类中调用父类的同名方法,或在子类的构造函数中调用父类的构造函数,此时亦必须是第一条语句。
               多态
               所谓多态,是指通过基类对象调用一个基类和派生类都有的方法时,在运行时才能确定到底调用的是基类的方法还是派生类的方法。多态的好处是增加了程序的可扩展性。多态是通过动态联编实现的,即编译时不确定,程序运行时才确定调用哪个函数。
               抽象类与接口
               1)抽象类
               抽象类通过关键字abstract实现,抽象类的目的是定义一个框架,规定某些类必须具有的一些共性。
               包含抽象方法的类一定是抽象类,所谓抽象方法是指没有函数体的方法。
               抽象类的直接派生类必须实现其抽象方法;抽象类只能用于继承,不能创建对象。
               2)接口(Interface)
               接口用关键字interface声明,只能用于继承。注意:此时关键字为implements(实现)。接口用于替代多继承的概念,能实现多继承的部分特点,又避免了多继承的混乱,还能起到规定程序框架的作用。注意:接口也可以用于多态。
               直接继承了接口的类,必须实现接口中的抽象方法;间接的则可以实现,也可以不实现。
               3)抽象类与接口的异同
               接口和抽象类都不能创建对象。
               抽象类不能参与多继承,抽象类可以有非静态的成员变量,可以有非抽象方法;接口可以参与多继承,所有属性都是静态常量,所有方法都是public抽象方法。
               异常处理
               1)异常概念
               异常,即出错,比如0作为除数、找不到类、打开文件错误、数组越界等。异常如果不进行处理,那么程序运行就会结束;如果进行处理,那么会在执行完异常处理代码后继续运行。
               Java中所有异常类均继承自类Exception。
               Java中的异常类层次结构如下:
               
               此外,还有EOFException、 FileNotFoundException、 MalformedURLException等。
               2)捕获异常
               异常处理的典型用法如下,将可能出现异常的代码放在try块中,其后由一个或多个catch捕获相应异常进行处理,注意只执行第一个匹配的catch块,忽略后面的。
               
               如果某个方法中所产生的异常该方法自己没有处理,那么可以在调用该方法的方法中进行处理,如果自己处理了,那么调用它的方法就无法得到该异常。
               3)抛出异常
               异常除了运行中系统产生的之外,也可以主动抛出异常,用关键字throw,如throw new Exception()。注意:throw只能抛出Throwable子类的异常。
               4)带throws关键字的方法
               带throws关键字的方法声明如下:
               
               强制调用该方法的方法必须处理可能发生的异常,或者将异常重新定向。假定方法A带throws关键字,而方法B中调用了方法A,则方法B中必须有处理方法A中可能产生的异常的语句,或者方法B也带throws关键字,指明调用方法B的方法必须处理异常。
               final关键字
               用final关键字定义的常量,在其初始化或第一次赋值后,其值不能被改变。常量必须先有值,然后才能使用。对于常量的第一次赋值只能在构造函数中进行。
               final对象的值不能被改变,指的是该对象不能再指向其他对象,而不是指不能改变当前对象内部的属性值。
               函数参数声明为final后,函数中不能改变其值。
               final方法是不能被重置的方法。
               final类不能被继承,其所有方法都是final的,但属性可以不是final的。
 
       可靠性
        (1)完备性。完备性评价指标及测量,如下表所示。
        
        完备性评价指标及测量
        (2)连续性。连续性评价指标及测量,如下表所示。
        
        连续性评价指标及测量
        
        (3)稳定性。稳定性评价指标及测量,如下表所示。
        
        稳定性评价指标及测量
        (4)有效性。有效性评价指标及测量,如下表所示。
        
        有效性评价指标及测量
        (5)可追溯性。可追溯性评价指标及测量,如下表所示。
        
        可追溯性评价指标及测量
        
 
       可伸缩性
        设计者同样需要考虑网络的可伸缩性,即考虑现在以及将来网络所需的容量。容量设计必须易于调整以适应单位、应用以及网络的适当增长。例如,当设计者实施以太网接口卡(NIC)和非屏蔽双绞线(UTP)连接时,即使只实现10Mbps的以太网,也可能选择购买10/100Mbps的网卡和5类线。这样做,不更换接口卡和线缆平台就能升级到百兆。
        要想作出具体的技术选择,需要设计者详细考虑每种方法的优缺点。考虑的不同技术类型和重点内容如下。
        ◆物理层。
        ◆网络互联。
        ◆逻辑网络图。
        ◆虚拟网策略。
        ◆现代广域网技术。
        ◆网络管理。
        ◆TCP/IP地址设计。
        ◆网络安全。
        ◆防火墙。
        ◆备选设计。
 
       可用性
        可用性(Availability)是指合法许可的用户能够及时获取网络信息或服务的特性。例如,网站能够给用户提供正常的网页访问服务,防止拒绝服务攻击。可用性是常受关注的网络信息系统CIA三性之一,其中A代表可用性(Availability)。对于国家关键信息基础设施而言,可用性至关重要,如电力信息系统、电信信息系统等,要求保持业务连续性运行,尽可能避免中断服务。
 
       维护
        维护阶段是软件生存期中时间最长的阶段。软件一旦交付正式投入运行后便进入软件维护阶段。该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的需要。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
 
       应用服务
        电子商务应用是企业利用电子手段展开商务活动的核心,也是电子商务系统组成的核心部分,是通过应用程序来实现的。事实上,企业商务服务的业务逻辑规划是否合理,直接影响到电子商务系统的功能。
   题号导航      2015年下半年 系统架构设计师 下午试卷 论文   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第1题    在手机中做本题