CN102111282A - 一种基于电信业务的信息管理系统架构及其构建方法 - Google Patents
一种基于电信业务的信息管理系统架构及其构建方法 Download PDFInfo
- Publication number
- CN102111282A CN102111282A CN2009102007112A CN200910200711A CN102111282A CN 102111282 A CN102111282 A CN 102111282A CN 2009102007112 A CN2009102007112 A CN 2009102007112A CN 200910200711 A CN200910200711 A CN 200910200711A CN 102111282 A CN102111282 A CN 102111282A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- layer
- service
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明揭示了一种基于电信业务的的信息管理系统架构以及构建方法,其分别建立了:通过数据库存储实体对象的数据服务层、通过JSP页面来显示数据并生成页面效果的显示层、封装数据处理方法的业务逻辑层、对所述数据服务层的实体对象进行持久化的持久层,另前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布,采用了本发明所述的技术方案,可以给系统带来更好的可维护性和扩展性。
Description
技术领域
本发明涉及信息系统领域,特别涉及一种基于电信业务的的信息管理系统架构以及构建方法。
背景技术
面对飞速发展的软件行业以及日益繁多的软件开发技术,人们深刻地认识到,选择良好的开发框架对保证系统的成功至关重要。成熟的框架能够帮助开发人员缩短开发时间、减少重复开发工作量、降低开发成本,增强程序的可维护性和可扩展性。针对如今基于电信业务的信息管理系统,由于新业务的不断发展,系统开发完成后却因为业务变更和扩展而需要导致整个信息管理系统的重新再开发,所以我们需要一种采用模块化和轻量化架构的电信业务的信息管理系统从而大大改善整个系统的软件后期维护的难度,增加程序的可扩展性、缩短开发周期、减少代码的重复编写。
发明内容
本发明的目的是提供一种基于电信业务的的信息管理系统架构以及构建方法,其整合了Struts、Hibernate、Spring的SSH三层框架以适用于电信业务的应用。SSH三层架构通过一个配置文件,即可把握整个系统各部分之间的联系,使系统的脉络更加清晰,提高系统的可维护性。
一方面,本发明提供一种基于电信业务的信息管理系统的架构,其通过JSP和SSH技术实现,包括:
显示层,通过JSP页面来显示数据并生成页面效果;
前端控制器:抓取用户填写的表单数据生成不同的请求,调用业务逻辑层中的不同业务逻辑方法;
业务逻辑层:封装不同的业务逻辑方法,调用数据持久层提供的接口来实现业务逻辑与数据库的交互;
数据持久层:负责与数据库服务层交互,用封装的数据操作方法对数据库数据进行增、删、查、改的操作,提供业务逻辑层可使用的数据访问对象;
数据库服务层,通过数据库存储所述信息系统的实体对象数据;
所述信息系统业务通过前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布。
所述前端控制器包括:
Web.xml,通过其中的配置,使所述前端控制器接受到了用户的一个请求之后,定义了一个请求应向何处转发;
Struts-config.xml,使前端控制器确定是否调用Action类,调用哪一种Action类;
Action类,包含各种业务操作逻辑。
所述业务逻辑层由Spring框架支持,通过由Spring Ioc容器统一管理已经对象化的各种业务操作逻辑和已持久化的数据访问对象。
所述数据持久层采用Hibernate框架,包括数据持久化类和数据访问对象,Hibernate将数据服务层中的实体化对象与数据持久化类之间相互映射之后,便可继承数据访问对象。
所述数据库服务层中的实体对象数据包括操作员表、公告信息表、未开户的客户表、已开户的客户表、号码表、业务费用表,所述操作员表和公告信息表以及未开户的客户表和已开户的客户表中的数据之间均为一对多的映射关系,所述客户表和号码表中的数据之间为一对一的映射关系。
另一方面,本发明还提供一种基于电信系统的信息管理系统构建方法,其基于JSP和SSH技术实现,包括以下步骤:
建立通过数据库存储所述信息系统的实体对象数据的数据库服务层;
建立负责与数据库交互,用封装的数据操作方法对数据库数据进行增、删、查、改的操作,提供业务逻辑层可使用的数据访问对象的数据持久层;
建立封装不同的业务逻辑方法,调用数据持久层提供的接口来实现业务逻辑与数据库的交互的业务逻辑层;
建立抓取用户填写的表单数据生成不同的请求,调用业务逻辑层中的不同业务逻辑方法的前端控制器;
建立通过JSP页面来显示数据并生成页面效果的显示层;
所述前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布。
所述前端控制器包括:
Web.xml,通过其中的配置,使所述前端控制器接受到了用户的一个请求之后,定义了一个请求应向何处转发;
Struts-config.xml,使前端控制器确定是否调用Action类,调用哪一种Action类;
Action类,包含各种业务操作逻辑。
所述业务逻辑层由Spring框架支持,通过由Spring Ioc容器统一管理已经对象化的各种业务操作逻辑和已持久化的数据访问对象。
所述数据持久层采用Hibernate框架,包括数据持久化类和数据访问对象,Hibernate将数据服务层中的实体化对象与数据持久化类之间相互映射之后,便可继承数据访问对象。
所述数据库服务层中的实体对象数据包括操作员表、公告信息表、未开户的客户表、已开户的客户表、号码表、业务费用表,所述操作员表和公告信息表以及未开户的客户表和已开户的客户表中的数据之间均为一对多的映射关系,所述客户表和号码表中的数据之间为一对一的映射关系。
采用本发明所述的一于电信业务的的信息管理系统架构以及构建方法,其分别建立了:通过数据库存储实体对象的数据服务层、通过JSP页面来显示数据并生成页面效果的显示层、封装数据处理方法的业务逻辑层、对所述数据服务层的实体对象进行持久化的持久层,另前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布,采用了本发明所述的技术方案,可以给系统带来更好的可维护性和扩展性。
附图说明
图1是本发明所述系统架构的原理框图;
图2是本发明所述的数据库服务层的结构图;
图3是本发明所述系统构建方法的流程图。
具体实施方式
下面结合附图和实施例进一步说明本发明的技术方案,本实施例以在线书籍信息系统进行说明。
参照图1,图1显示了本发明提供的一种基于电信业务的信息管理系统系统架构100,其基于JSP和SSH技术实现,包括显示层110、前端控制器120、业务逻辑层130、数据持久层140、数据库服务层150,所述信息系统业务通过前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布。下面详细介绍这些数据层:
数据库服务层140,通过数据库存储所述信息系统的实体对象。
如图2所示所述实体对象包括包括操作员表(TOPERATOR)151、公告信息表(MESSAGE)152、未开户的客户表(TCOUSTOMER)153、已开户的客户表(TUSER)154、号码表(TMOBILES)156、业务费用表(TCHARGE)155。
所述操作员表(TOPERATOR)151包括操作员ID(OPPERTOR_ID)、操作员姓名(OPERATOR_NAME)、操作员密码(OPPERATOR_PWD)、是否为管理员(IS_ADMIN)等实体内容。
所述公告信息表(MESSAGE)152包括公告ID(MID)、内容(CONTENT)、创建时间(CREATTIME)字段等实体内容
所述未开户的客户表(TCOUSTOMER)153包括客户ID(CUSTOMER_ID)、ID类型(ID_TYPE)、ID编号(ID_NUMBER)、客户生日(CUSTOMER_BIRTHDAY)、客户性别(CUSTOMER_SEX)、客户地址(CUSTOMER_ADDRESS)等实体内容。
所述已开户的客户表(TUSER)154包括用户ID(USER_ID)、用户状态(ROAMING_STATUS)、用户级别(COM_LEVEL)、客户ID(CUSTOMER_ID)、手机号码(MOBILE_NUMBER)等实体内容。
所述号码表(TMOBILES)156包括手机号码(MOBILE_NUMBER)、手机类型{MOBILE_TYPE)、SIM卡号(CARD_NUMBER)、该号码是否可用(IS_AVAILABALE)的实体内容。
所述业务费用表(TCHARGE)155包括资费代码(CHARGE_NO)、资费名称{CHARGE_NAME}等实体内容。
所述操作员表(TOPERATOR)151和公告信息表(MESSAGE)152以及未开户的客户表(TCOUSTOMER)153和已开户的客户表(TUSER)154中的数据之间均为一对多的映射关系,所述已开户的客户表(TUSER)154和号码表(TMOBILES)155中的数据之间为一对一的映射关系。
显示层110,通过JSP页面来显示数据并生成页面效果。
作为一实施例,所述显示层110中的JSP页面使用客户化标签,所述客户化标签源自Struts HTML、Bean和Logic标签库。所述的显示层110在JSP页面中使用客户化标签,可以把java程序代码和JSP页面分离,使JSP页面重于生成动态网页,而不涉及应用逻辑。本实施例中的所有页面都使用了StrutsHTML、Bean和Logic标签库中的标签。客户化标签有以下优点:标签具有可重用性,因此可以提高开发效率;可以在JSP页面以静态或动态的方式客户化设置自定义标签的属性;标签可以访问JSP网页中的所有对象,如HttpServletRequest和HttpServletResponse等;标签可以相互嵌套,来完成逻辑;标签可以使JSP页面变得更加简洁,提高可读性。
前端控制器120,包括:
Web.xml,通过其中的配置,使所述前端控制器接受到了用户的一个请求之后,定义了一个请求应向何处转发;
Struts-config.xml,使前端控制器确定是否调用Action类,调用哪一种Action类;
Action类,包含各种业务操作逻辑。
作为一实施例,Web应用程序启动时加载并初始化前端控制器即ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并从表单抓取相应的数据封装成一个ActionForm对象,ActionServler根据Struts-config.xml配置文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()方法验证后选择将请求发送到哪个Action即核心处理器,如果Action不存在,ActionServlet会先创建这个对象,然后调用Action类的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。
业务逻辑层130,封装不同的业务逻辑方法,调用数据持久层提供的接口来实现业务逻辑与数据库的交互。业务逻辑层130将前端控制器120与数据库服务层150分离开来,使前端控制器120不能直接访问数据库服务层150中的实体对象,提升了安全性。
作为一实施例,业务逻辑层130中的不同业务逻辑方法Spring框架统一管理,Spring框架提倡开发人员在开发过程中尽可能多的面向接口编程,类与类之间的依赖关系由Spring IOC容器来控制,Spring能有效地组织J2EE应用各层的对象。不管是前端控制器120的Action对象,还是业务逻辑层130的Service对象,还是数据持久层140的DAO对象,都可在Spring的管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对象无须关心数据持久层140的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大大减少。这一切都得宜于Spring的核心机制,依赖注入。依赖注入让bean与bean之间以配置文件组织在一起,而不是以硬编码的方式耦合在一起。
通过Spring框架便可实现操作员管理、客户管理、业务费用管理、号码资源管理、公告发布这些功能实例的注入,当某个功能实例需要另一个功能实例的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。不管是依赖注入,还是控制反转,都说明Spring采用动态、灵活的方式来管理各种对象。对象与对象之间的具体实现互相透明。
SessionFactory的注入:
1.<beans>
2.<beanid=″sessionFactory″
class=″org.springframework.
3.orm.hibernate3.LocalSessionFactoryBean″>
4.<property name=″configLocation″>
5.<value>classpath:hibernate.cfg.xml</value>
6.</property>
7.</bean>
8.<bean id=″operatorDao″class=″dao.OperatorDao″>
9.<property name=″sessionFactory″ref=″sessionFactory″>
10.</property>
11.</bean>
12.</beans>
代码1.1
代码1.1是Spring中依赖注入的一个例子,第1和第12行是头标签,所有配置文件的内容都要写在<beans>标签内,在这个配置文件中从第2到第7行以及第8到第11行配置了2个<bean>标签,第2到第7行内配置的是注入SessionFactory实例,通过读取hibernate.cfg.xml文件来实现。第8到第11行是将先前获取的SessionFactory实例注入到数据持久层140的OperatorDao的一个对象中,使其能够调用到SessionFactory内的方法对数据库进行操作。
数据持久层140的注入:
1.<beans>
2.<bean id=″operatorService″
class=″service.OperatorService″>
3.<property name=″operatorDao″
ref=″operatorDao″></property>
4.</bean>
5.</beans>
代码1.2
代码1.2中将数据持久层140中的OperatorDao对象注入到业务逻辑层130的OperatorService对象中,使其能够调用到OperatorDao对象中的方法对数据库进行操作。
Action的注入
1.<beans>
2.<bean name=″/login″class=″action.LoginAction″>
3.<property name=″operatorService″
ref=″operatorService″>
4.</property>
5.</bean>
6.</beans>
代码1.3
代码1.3中将Service注入Action类,把Action中通过从页面抓取参数,传入业务逻辑层130的方法,与数据库进行交互,使页面参数与数据库联系起来。
数据持久层140,封装数据访问细节,对所述数据服务层110的实体对象进行持久化,为所述业务逻辑层130提供面向实体对象的API。
作为一实施例,Hibernate作为一个ORM(对象-关系映射)工具,对使用JDBC访问数据库的代码做了一定程度的封装,大大简化了以前使用Action类访问数据库的繁琐的重复性代码,引入的数据持久层140这一概念,并且在很大程度上简化了数据持久层140的编码工作。Hibernate使用Java的反射(reflect)机制来增加程序的透明性。Hibernate是一个轻量级的框架,系统资源占用量低,所以在性能表现方面很优异,映射的灵活性很出色。它支持各种关系数据库以及多种表与表之间的对应的各种关系(从一对一到多对多)。类与类之间的关系主要体现在表与表之间的关系进行操作,它们都是对对象进行操作
使用Hibernate框架的基本工作流程为:首先系统读取hibernate.cfg.xml配置文件的配置信息,配置文件里包括了一些对数据库连接的配置,然后读取并解析数据库映射文件,通过读取映射信息来创建SessionFactory,获得SessionFactory实例后打开Session并穿件事务Transation,通过Hibernate的对数据库操作的封装方法或者Hibernate内自带的HQL语句来对数据库进行持久化操作,操作完毕后提交事务,数据库持久化操作完成。最后关闭Session以及SesstionFactory。
hibernate.cfg.xml的配置:
1.<hibernate-configuration>
2.<session-factory>
3.<property
name=″dialect″>org.hibernate.dialect.Oracle9Dialect
4.</property>
5.<property name=″connection.driver_class″>
6.oracle.jdbc.driver.OracleDriver
7.</property>
8.<propertyname=″connection.username″>lsc</property>
9.<property name=″connection.password″>lsc</property>
10.<property name=″connection.url″>
11.jdbc:oracle:thin:@localhost:1521:lsc
12.</property>
13.<property name=″show_sql″>true</property>
14.<property
name=″hibernate.current_session_context_class″>thread
15.</property>
16.<mapping resource=″pojo/Charge.hbm.xml″/>
17.<mapping resource=″pojo/Customer.hbm.xml″/>
18.<mapping resource=″pojo/Mobile s.hbm.xml″/>
19.<mapping resource=″pojo/Operator.hbm.xml″/>
20.<mapping resource=″pojo/User.hbm.xml″/>
22.<mapping resource=″pojo/Message.hbm.xml″/>
23.</session-factory>
24.</hibernate-configuration>
代码2.3
代码2.3是hibernate.cfg.xml的配置信息,第1和第11行是hibernate.cfg.xml配置文件的头标签,左右的配置信息都要包括在<hibernate-configuration>标签内,第2到第23行的作用是配置一个SessionFactory实例,第3到第15行的<property>用来配置与数据库相连接的相关信息,第3行配置的是数据库方言,告诉系统用哪种数据库语言来解析数据库语句。第5到第7行配置的是数据库驱动,第8第9行配置了连接数据库的用户名与密码。第10到第12行配置了连接数据库的一串JDBC的URL,第13行配置了在后台打印sq l语句。第16到22行配置了所要用到的Hibernate映射文件,所有项目中用到的映射文件都要在这里配置。Hibernate映射文件的配置:
1.<hibernate-mapping package=″pojo″>
2.<class name=″Operator″table=″TOPERATOR″>
3.<id name=″operator_id″column=″OPERATOR_ID″>
4.<generator class=″increment″></generator>
5.</id>
6.<property name=″operator_name″
7.column=″OPERATOR_NAME″unique=″true″/>
8.<property name=″operator_pwd″
column=″OPERATOR_PWD″/>
9.<property name=″is_admin″column=″IS_ADMIN″/>
10.<set name=″messages″lazy=″false″>
11.<key column=″OID″/>
12.<one-to-many class=″Message″/>
13.</set>
14.</class>
15.</hibernate-mapping>
代码2.1
代码2.1是电信业务信息管理系统中Operator类的hibernate映射文件,通过映射文件无需另外建表。第1行与第15行是头文件,所有配置信息都要写在<hibernate-mapping>标签内,第2行的<class>标签标识了类与表的映射关系,name属性代表类,它是一个Java Bean,table属性表示在数据库中与该类相对应的表的表名。第3到第5行的<id>标签标识了类中的某一字段映射到表中的主键,属性name表示类中的字段名,属性column表示表中的主键名,第4行的<generator>标签标识了表内主键的增长方式这里的属性class=″increment″表示主键的增长方式为自增长,即每添加一行记录主键就+1。第6到第9行的<property>字段标识了类中的字段与表中的字段的映射,都是一一对应的。第10到第13行的<set>标签标识了类有另外一个对象的集合,也标识了该类所对应的表与另一张表的一对多的关系。
在数据持久层140通常采用构建DAO类的模式来对数据库进行操作,Hibernate作为ORM工具提供了对数据库增、删、改、查的操作封装,可以使用session.save();session.persist()等方法来实现这些操作,但在实际的项目中还是需要提供一个通用的Dao,来简化对于事务、异常处理以及session的操作,同时提供一些项目中需要的相关操作,一下就是一个典型的DAO类。
1.public class OperatorDao{
2.private SessionFactory sessionFactory;
3.public SessionFactory getSessionFactory(){
4.return sessionFactory;
5.}
6.public void setSessionFactory(SessionFactorysessionFactory){
7.this.sessionFactory=sessionFactory;
8.}
9.public Operator getOperator(String operator_name){
10.Session session=sessionFactory.openSession();
11.Transaction tx=session.beginTransaction();
12.Query query=session.createQuery(″from Operator
13.where operator_name=?″);
14.query.setString(0,operator_name);
15.Operator operator;
16.if(query.uniqueResult()!=null){
17.operator=(Operator)query.uniqueResult();
18.}else{
19.operator=null;
20.}
21.tx.commit();
22.session.close();
23.return operator;
24.}
25.}
代码2.2
代码2.2是对电信业务信息管理系统中DAO层对操作员的操作,其中包含一个从数据库获取一个Operator实例,代码中第9行到第24行是对数据库的一个读取操作,第10行通过一个工具类获得SessionFactory的事例,通过该实例的openSession()方法获得一个Session对象,用于对数据库的一系列操作。第11行通过session的beginTransaction()方法来获得Transaction对象,用于提交事务。第12到13行是运用了Hibernate自带的HQL语句来对数据库的数据进行读取。第14行是对HQL语句中的占位符的设值,17行通过获得的Query对象开执行上述的HQL语句。第21行为提交事务,22在HQL语句执行完毕后关闭session。第23行返回HQL执行完毕后的结果集交由Action调用。
参见图3,本发明还提供一种基于电信业务信息管理系统构建方法200,其基于JSP和SSH技术实现,包括以下步骤:
201,建立通过数据库存储所述信息系统的实体对象数据的数据库服务层;
202,建立负责与数据库交互,用封装的数据操作方法对数据库数据进行增、删、查、改的操作,提供业务逻辑层可使用的数据访问对象的数据持久层;
203,建立封装不同的业务逻辑方法,调用数据持久层提供的接口来实现业务逻辑与数据库的交互的业务逻辑层;
204,建立抓取用户填写的表单数据生成不同的请求,调用业务逻辑层中的不同业务逻辑方法的前端控制器;
205,建立通过JSP页面来显示数据并生成页面效果的显示层。
电信业务信息管理系统的开发流程是自底向上、由内而外开发的,即从数据库服务层着手进行第一步开发,然后是数据持久层、业务逻辑层、前端控制器,最后是显示层。把最不容易变更的东西最先开发,采用这种顺序开发的好处是将代码的修改降到最低,因为一般来说数据库结构确定好之后除非遇到特殊情况需要修改表结构,否则在考虑完全的情况下数据库的表结构是不会作修改的,而众所周知显示层的修改工作是大量而繁重的,随着开发的进行,更加明确的业务需求逐渐显露出来,此时再进行业务逻辑层、前端控制器以及显示层的开发能够避免由于业务需求不明确而带来的不必要的修改。另外值得一提的是该系统的开发是采用纵向的开发策略(即一条业务需求明确后针对该需求进行从数据库到显示层的开发,这样做的好处是对于开发人员来说当前需求总是最清晰的,减少多条需求同时开发给对发人员造成的影响,将由人为因素造成编写错误的可能性降到最低。
需要指出的是,本发明所述的一种基于工厂模式的信息系统构建方法200和本发明所述一种基于工厂模式的信息系统架构100,两者在原理和实施例上是相同或类似的,故其重复部分不再赘述。
本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上实施例的变化、变型都将落在本发明的权利要求书范围内。
Claims (10)
1.一种基于电信业务的信息管理系统架构,其通过JSP和SSH技术实现,包括:
显示层,通过JSP页面来显示数据并生成页面效果;
前端控制器:抓取用户填写的表单数据生成不同的请求,调用业务逻辑层中的不同业务逻辑方法;
业务逻辑层:封装不同的业务逻辑方法,调用数据持久层提供的接口来实现业务逻辑与数据库的交互;
数据持久层:负责与数据库服务层交互,用封装的数据操作方法对数据库数据进行增、删、查、改的操作,提供业务逻辑层可使用的数据访问对象;
数据库服务层,通过数据库存储所述信息系统的实体对象数据;
其特征在于,所述前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布。
2.如权利要求1所述的信息管理系统架构,其特征在于,所述前端控制器包括:
Web.xml,通过其中的配置,使所述前端控制器接受到了用户的一个请求之后,定义了一个请求应向何处转发;
Struts-config.xml,使前端控制器确定是否调用Action类,调用哪一种Action类;
Action类,包含各种业务操作逻辑。
3.如权利要求1所述的信息管理系统架构,其特征在于,所述业务逻辑层由Spring框架支持,通过由Spring Ioc容器统一管理已经对象化的各种业务操作逻辑方法和已持久化的数据访问对象。
4.如权利要求1所述的信息管理系统架构,其特征在于,所述数据持久层采用Hibernate框架,包括数据持久化类和数据访问对象,Hibernate将数据服务层中的实体化对象与数据持久化类之间相互映射之后,便可继承数据访问对象。
5.如权利要求1所述的信息管理系统架构,其特征在于,所述数据服务层中的实体对象数据包括操作员表、公告信息表、未开户的客户表、已开户的客户表、号码表、业务费用表,所述操作员表和公告信息表以及未开户的客户表和已开户的客户表中的数据之间均为一对多的映射关系,所述客户表和号码表中的数据之间为一对一的映射关系。
6.一种基于电信系统的信息管理系统构建方法,其基于JSP和SSH技术实现,其特征在于,包括以下步骤:
A,建立通过数据库存储所述信息系统的实体对象数据的数据库服务层;
B,建立负责与数据库交互,用封装的数据操作方法对数据库数据进行增、删、查、改的操作,提供业务逻辑层可使用的数据访问对象的数据持久层;
C,建立封装不同的业务逻辑方法,调用数据持久层提供的接口来实现业务逻辑与数据库的交互的业务逻辑层;
D,建立抓取用户填写的表单数据生成不同的请求,调用业务逻辑层中的不同业务逻辑方法的前端控制器;
E,建立通过JSP页面来显示数据并生成页面效果的显示层;
F,前端控制器调用业务逻辑方法操作数据库中的实体对象数据实现具体功能实例,所述功能实例包括操作员管理、客户管理、业务费用管理、号码资源管理、公告发布。
7.如权利要求6所述的信息管理系统构建方法,其特征在于,所述步骤F中,前端控制器包括:
Web.xml,通过其中的配置,使所述前端控制器接受到了用户的一个请求之后,定义了一个请求应向何处转发;
Struts-config.xml,使前端控制器确定是否调用Action类,调用哪一种Action类;
Action类,包含各种业务操作逻辑。
8.如权利要求6所述的信息管理系统构建方法,其特征在于,所述步骤C中,业务逻辑层由Spring框架支持,通过由Spring Ioc容器统一管理已经对象化的各种业务操作逻辑和已持久化的数据访问对象。
9.如权利要求6所述的信息管理系统构建方法,其特征在于,所述步骤C中,数据持久层采用Hibernate框架,包括数据持久化类和数据访问对象,Hibernate将数据服务层中的实体化对象与数据持久化类之间相互映射之后,便可继承数据访问对象。
10.如权利要求6所述的信息管理系统构建方法,其特征在于,所述步骤A中,数据服务层中的实体对象数据包括操作员表、公告信息表、未开户的客户表、已开户的客户表、号码表、业务费用表,所述操作员表和公告信息表以及未开户的客户表和已开户的客户表中的数据之间均为一对多的映射关系,所述客户表和号码表中的数据之间为一对一的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102007112A CN102111282A (zh) | 2009-12-24 | 2009-12-24 | 一种基于电信业务的信息管理系统架构及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102007112A CN102111282A (zh) | 2009-12-24 | 2009-12-24 | 一种基于电信业务的信息管理系统架构及其构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102111282A true CN102111282A (zh) | 2011-06-29 |
Family
ID=44175316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102007112A Pending CN102111282A (zh) | 2009-12-24 | 2009-12-24 | 一种基于电信业务的信息管理系统架构及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102111282A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567514A (zh) * | 2011-12-27 | 2012-07-11 | 广州从兴电子开发有限公司 | 一种数据处理方法及系统 |
CN102929618A (zh) * | 2012-10-18 | 2013-02-13 | 中国人民解放军理工大学 | 基于xml配置文件和监听注册的一体化网管综合集成方法 |
CN103631601A (zh) * | 2013-12-10 | 2014-03-12 | 北京中电普华信息技术有限公司 | 一种代码生成方法和装置 |
CN103731430A (zh) * | 2014-01-09 | 2014-04-16 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种基于struts2架构文件上传安全控制方法 |
CN105138602A (zh) * | 2015-08-06 | 2015-12-09 | 中国电力科学研究院 | 一种三维协同平台的构架系统及其使用方法 |
CN105512403A (zh) * | 2015-12-10 | 2016-04-20 | 中国航空工业集团公司西安飞机设计研究所 | 一种系统架构构建方法 |
CN106874388A (zh) * | 2017-01-11 | 2017-06-20 | 中科院微电子研究所昆山分所 | 一种基于关系型数据库的异构系统数据级联操作自动构建方法 |
WO2019033406A1 (zh) * | 2017-08-18 | 2019-02-21 | 深圳怡化电脑股份有限公司 | 一种软件开发方法及装置 |
CN109918370A (zh) * | 2019-01-24 | 2019-06-21 | 西安交通大学 | 一种基于web的可配置表单应用前端的开发方法及系统 |
CN110554857A (zh) * | 2018-05-30 | 2019-12-10 | 马上消费金融股份有限公司 | JavaBean生成方法、装置、系统及可读存储介质 |
CN111464658A (zh) * | 2020-04-22 | 2020-07-28 | 安徽农业大学 | 一种基于区块链的茶叶可信追溯系统及其使用方法 |
CN112102068A (zh) * | 2020-09-16 | 2020-12-18 | 中国建设银行股份有限公司 | 一种etc业务办理方法和系统 |
CN112905176A (zh) * | 2021-02-08 | 2021-06-04 | 中国工商银行股份有限公司 | 基于SpringBoot的web系统后端实现方法及装置 |
-
2009
- 2009-12-24 CN CN2009102007112A patent/CN102111282A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567514A (zh) * | 2011-12-27 | 2012-07-11 | 广州从兴电子开发有限公司 | 一种数据处理方法及系统 |
CN102929618A (zh) * | 2012-10-18 | 2013-02-13 | 中国人民解放军理工大学 | 基于xml配置文件和监听注册的一体化网管综合集成方法 |
CN103631601A (zh) * | 2013-12-10 | 2014-03-12 | 北京中电普华信息技术有限公司 | 一种代码生成方法和装置 |
CN103731430A (zh) * | 2014-01-09 | 2014-04-16 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种基于struts2架构文件上传安全控制方法 |
CN105138602B (zh) * | 2015-08-06 | 2019-07-19 | 中国电力科学研究院 | 一种三维协同平台的构架系统及其使用方法 |
CN105138602A (zh) * | 2015-08-06 | 2015-12-09 | 中国电力科学研究院 | 一种三维协同平台的构架系统及其使用方法 |
CN105512403A (zh) * | 2015-12-10 | 2016-04-20 | 中国航空工业集团公司西安飞机设计研究所 | 一种系统架构构建方法 |
CN105512403B (zh) * | 2015-12-10 | 2018-07-13 | 中国航空工业集团公司西安飞机设计研究所 | 一种系统架构构建方法 |
CN106874388A (zh) * | 2017-01-11 | 2017-06-20 | 中科院微电子研究所昆山分所 | 一种基于关系型数据库的异构系统数据级联操作自动构建方法 |
CN106874388B (zh) * | 2017-01-11 | 2020-08-11 | 中科院微电子研究所昆山分所 | 一种基于关系型数据库的异构系统数据级联操作自动构建方法 |
WO2019033406A1 (zh) * | 2017-08-18 | 2019-02-21 | 深圳怡化电脑股份有限公司 | 一种软件开发方法及装置 |
CN110554857A (zh) * | 2018-05-30 | 2019-12-10 | 马上消费金融股份有限公司 | JavaBean生成方法、装置、系统及可读存储介质 |
CN110554857B (zh) * | 2018-05-30 | 2021-06-22 | 马上消费金融股份有限公司 | JavaBean生成方法、装置、系统及可读存储介质 |
CN109918370A (zh) * | 2019-01-24 | 2019-06-21 | 西安交通大学 | 一种基于web的可配置表单应用前端的开发方法及系统 |
CN111464658A (zh) * | 2020-04-22 | 2020-07-28 | 安徽农业大学 | 一种基于区块链的茶叶可信追溯系统及其使用方法 |
CN112102068A (zh) * | 2020-09-16 | 2020-12-18 | 中国建设银行股份有限公司 | 一种etc业务办理方法和系统 |
CN112905176A (zh) * | 2021-02-08 | 2021-06-04 | 中国工商银行股份有限公司 | 基于SpringBoot的web系统后端实现方法及装置 |
CN112905176B (zh) * | 2021-02-08 | 2024-02-09 | 中国工商银行股份有限公司 | 基于SpringBoot的web系统后端实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102111282A (zh) | 一种基于电信业务的信息管理系统架构及其构建方法 | |
CN103383645B (zh) | 代码生成方法及系统 | |
US8234308B2 (en) | Deliver application services through business object views | |
CN100424637C (zh) | 用于构建无线应用程序的系统和方法 | |
US20030182463A1 (en) | Dynamic thin client for information management system | |
CN106843835A (zh) | 一种元数据定制的应用系统软件构建系统、系统构建方法 | |
CN103761082A (zh) | 一种组件化研发模式与领域驱动模型相结合的应用开发系统及平台 | |
CN102750145A (zh) | 一种网络系统软件体系框架及其实现方法 | |
Kapitsaki et al. | Model-driven development of composite context-aware web applications | |
CN101256650A (zh) | 一种基于业务实体的企业数据提取方法与系统 | |
CN102004742A (zh) | 多层数据库访问结构 | |
CN107133024A (zh) | 基于osgi框架的业务管理系统 | |
CN102004634A (zh) | 分层的业务管理系统 | |
CN102117203A (zh) | 一种基于Struts框架的信息管理系统 | |
CN102541996A (zh) | 一种基于jdbc的数据访问层构建方法及装置 | |
CN109582302A (zh) | 项目创建系统及自动化项目创建方法 | |
Tsai et al. | Service-oriented user interface modeling and composition | |
CN109960709B (zh) | 一种数据库驱动的处理方法、装置、设备及存储介质 | |
CN101861582A (zh) | 网络操作系统 | |
CN109816339A (zh) | 用电业务处理方法、装置、移动设备和存储介质 | |
CN101237449B (zh) | 一种访问ims数据库的方法及系统 | |
US20120102406A1 (en) | Composition model for components of a user interface framework for web applications | |
CN101976255B (zh) | 网页信息批量导出生成word文档的方法和装置 | |
US8832180B2 (en) | Function module dispatcher | |
CN104081381B (zh) | 用于实施概念服务的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110629 |