`

JEE分布式框架--技术介绍文档(转)

 
阅读更多

介绍

1.      项目核心代码结构截图

<modules>
        <!-- jeesz 工具jar -->
        <module>jeesz-utils</module>
        <!-- jeesz 公共配置jar -->
        <module>jeesz-config</module>
        <!-- jeesz 核心框架jar -->
        <module>jeesz-framework</module>
        <!-- jeesz CMS业务jar -->
        <module>jeesz-core-cms</module>
        <!-- jeesz 代码自动生成业务jar -->
        <module>jeesz-core-gen</module>
        <!-- jeesz 我的收藏业务jar -->
        <module>jeesz-core-bookmark</module>
        <!-- jeesz 电子流业务jar -->
        <module>jeesz-core-act</module>
        <!-- jeesz OA业务jar -->
        <module>jeesz-core-oa</module>
        <!-- jeesz 测试业务jar -->
        <module>jeesz-core-test</module>
        <!-- jeesz 定时调度业务jar -->
        <module>jeesz-core-scheduler</module>
        <!-- jeesz 我的任务业务jar -->
        <module>jeesz-core-task</module>
        <!-- jeesz admin后台管理系統 -->
        <module>jeesz-web-admin</module>
        <!-- jeesz Restful服务管理系統 -->
        <module>jeesz-web-service</module>
        <!-- jeesz 定时调度管理系統 -->
        <module>jeesz-web-scheduler</module>
        <!-- jeesz 我的任务Dubbo服务消費者 -->
        <module>jeesz-web-task</module>
        <!-- jeesz 我的收藏Dubbo服务消費者 -->
        <module>jeesz-web-bookmark</module>
        <!-- jeesz 我的收藏Dubbo服務接口 -->
        <module>jeesz-facade-bookmark</module>
        <!-- jeesz 我的收藏Dubbo服务生产者 -->
        <module>jeesz-service-bookmark</module>
        <!-- jeesz 我的任务Dubbo服务接口 -->
        <module>jeesz-facade-task</module>
        <!-- jeesz 我的任务Dubbo服务生产者 -->
        <module>jeesz-service-task</module>
        <!-- JMS消息 -->
        <module>jeesz-web-mq-task</module>
    </modules>

特别提醒:开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化

 

2.     项目依赖介绍

    2.1  后台管理系统、Rest服务系统、Scheculer定时调度系统依赖如下图:

 

        2.2  Dubbo独立服务项目依赖如下图:

 

3.      平台简介
        Jeesz是一个分布式的框架,提供项目模块化、服务化、热插拔的思想,高度封装安全性的Java EE快速开发平台。

        Jeesz本身集成Dubbo服务管控、Zookeeper注册中心、Redis分布式缓存技术、FastDFS分布式文件系统、ActiveMQ异步消息中间件、Nginx负载均衡等分布式技术

        使用Maven做项目管理,项目模块化,提高项目的易开发性、扩展性

        以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎等。

        前端集成Bootstrap4 metronic框架,UI响应式、扁平化布局,适应所有PC、Pad、Anroid、ios 移动设备等。

        Jeesz主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件、数据权限组件、数据字典组件、核心工具 组件、视图操作组件、工作流组件、代码生成等。采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。

        Jeesz目前包括以下模块项目,后台系统管理系统RestFul独立服务系统Scheduler定时调度系统内容管理(CMS)系统在线办公(OA)系统我的待办(Task服务)我的收藏(Bookmark服务)。 

        后台管理系统包括企业组织架构(用户管理、机构管理、区域管理)、菜单管理、角色权限管理、字典管理等功能;

        RestFul独立提供标准Rest服务API,您可以快速实现自己的业务,提供需要的服务;

        Quartz定时调度系统可以动态配置您的任务规则等;

        内容管理(CMS)系统,包括内容管理,栏目管理、站点管理、公共留言、文件管理、前端网站展示等功能;

        在线办公(OA)系统,主要提供简单的流程实例。

        Jeesz提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。另外 还提供一个强大的在线 代码生成 工具,此工具提供简单的单表、一对多、树结构功能的生成,如果对外观要求不是很高,生成的功能就可以用了。使用了Jeesz基础框架,可以提高快速开发效 率。

 

4.    内置功能(只列了一部分功能)
    1.用户管理:用户是系统操作者,该功能主要完成系统用户配置。 
    2.机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。 
    3.区域管理:系统城市区域模型,如:国家、省市、地市、区县的维护。 
    4.菜单管理:配置系统菜单,操作权限,按钮权限标识等。 
    5.角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 
    6.字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。 
    7.操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 
    8.连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 
    9.工作流引擎:实现业务工单流转、在线流程设计器。

 

5.    开发工具
    1.Eclipse IDE:采用Maven项目管理,模块化。
    2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果不需要注意美观程度,生成后即可用。

 

6.    技术选型(只列了一部分技术)
    1、后端
        服务框架:Dubbo、zookeeper、Rest服务
        缓存:Redis、ehcache
        消息中间件:ActiveMQ
        负载均衡:Nginx
        分布式文件:FastDFS
        数据库连接池:Alibaba Druid 1.0
        核心框架:Spring framework
        安全框架:Apache Shiro 1.2
        视图框架:Spring MVC 4.0
        服务端验证:Hibernate Validator 5.1
        布局框架:SiteMesh 2.4
        工作流引擎:Activiti 5.15
        任务调度:quartz 1.8.5
        持久层框架:MyBatis 3.2
        日志管理:SLF4J 1.7、Log4j
        工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI
    2、前端
        JS框架:JQuery 1.9。
        CSS框架: Bootstrap 4 metronic
        客户端验证:JQuery Validation Plugin。
        富文本:CKEcitor
        文件管理:CKFinder
        动态页签:Jerichotab
        数据表格:jqGrid
        对话框:jQuery jBox
        树结构控件:jQuery zTree
        其他组件:Bootstrap 4 metronic
    3、支持
        服务器中间件:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8
        数据库支持:目前仅提供mysql数据库的支持,但不限于数据库,下个版本升级多数据源切换和数据库读写分离: 如:Oracle、SqlServer、H2等
        支持开发环境:Eclipse、MyEclipse、Ras、Idea等

 

环境搭建:

1.环境准备

   1.开发工具: Eclipse IDE(建议使用高一点的版本)

   2.JDK版本:JDK1.7

   3.项目管理: Maven3.1.1

2.安装步骤
   1.安装jdk1.7并配置环境变量(相信大家都会做,这里不再做重复的说明)

   2.安装maven:maven安装过程就是解压缩的过程(我已经帮大家解压了, 目录:E:\myprj\jeesz-maven\apache-maven-3.1.1),为了方便大家,这边已经提供了相关的安装包,会在打包的目录下共享。

   3.mavan配置环境变量,右击我的电脑属性高级系统设置环境变量找到(系统变量path),在最前面输入你的maven安装包路径,声明:因为上一步解压了指定的目录,所以配置如下:

E:\myprj\jeesz-maven\apache-maven-3.1.1\bin;

相信大家都有配过环境变量,如果您不是很清楚,请查询相关资料,了解一下maven的相关知识。

   4.打开 cmd,在里面敲:mvn –version,出现以下结果说明你maven安装成功了

mvn 是 maven 的一个指令,mvn-version 是查看版本信息,我的操作系统是 64位的WIN7,安装的 maven 是 3.1.1,如果能打印如上信息,说明到此 Maven3 已经在你的电脑上安装完成。


  5.建工作空间(进入后选中j2ee视图)

 

  6.配置Eclipse编码为UTF-8
  Eclipse工具栏中选择Window》Prefrences》General》Workspace

7.配置jre环境(之前大家需要安装了jdk1.7版本,这里就使用安装好的jdk进行配置):
选择Window》Prefrences》java》Installed JREs》Edit》选择自己本地jdk安装路径》Finished》OK

 

8.去除JavaScript的验证等信息(因为项目中大量使用js、css、xml等其他不同格式的文件,考虑到每次编译的执行时间,所以这边临时将一些验证信息去除)
Window》Prefrences》Validation》Suspend all validators》ok

 

9. 修改刚刚安装的maven settings.xml配置文件,路径如下:E:\myprj\jeesz-maven\apache-maven-3.1.1\conf,
添加本地库地址:<localRepository>E:/myprj/jeesz-maven/apache-maven-3.1.1/repository</localRepository>
修改中央库路径(在网络正常的情况下,可以从远程中央库下载缺失的jar包,我这里使用了Oschina的中央库,如果网络有问题,
大家可以使用自己公司的私服进行加载相关jar包),考虑到大家包有时候下载不下来,我这里也给大家共享了项目所需要的jar包,全部放到了以下目录:
E:/myprj/jeesz-maven/apache-maven-3.1.1/repository

10.  Eclipse中配置maven安装目录和Setting文件加载的本地库目录

 

11.导入Maven项目
File》Import》Existing Maven Projects》下一步

 

选择你本地的maven项目(请选中jeesz-project根目录),点击确定

加载出来所有项目后,点击finish完成

提醒:这个导入的过程要一段时间,因为我本地连接网络,所以会从远程中央库下载项目所需要的所有的jar包,请大家耐心等候。
如果你使用了本地库则不需要等待很长时间,如果是使用公司私服,则等待时间也不会很长。


导入后的项目信息

本地库的包已经下载了

12.下载完所有jar包,更新maven项目:

1)选中所有项目 2) 右键选择maven》Update project 选择所有》勾选关联项》点击ok

如果项目还出现红X错误,则必定是缺少相关的jar包,可以使用:
Window》showView》problem窗口查看异常信息


如果缺少jar包,可以将我们提供的jar包直接copy到你指定目录即可

待项目里面的所有错误全部清零后才能进行下一步工作(如下图所示)
选中所有项目,对项目进行清理:Project》clean

13.    尝试对项目进行编译、打包看是否有问题:
注意:一般我们打包编译是针对于根项目,因为里面配置了所有的依赖关系。右键jeesz-project》Run As》Maven build…

在弹出的对话框中录入clean install –X 命令,勾选Skip tests,Run…
提醒:如果对maven命令不是很熟的,可以去查下相关的资料
这边简单做下解释: clean install –X 表示清理所有项目并将jar包装载到本地库,其中-X表示输出的信息(一般在出现maven问题的时候可以使用-X来定位问题。)

此时控制台开始编译装载所有的包,这个过程有点漫长,请大家耐心等候

出现以下结果说明项目是正常的。

打好的包(包含war、jar),都在target文件夹下,这边只以jeesz-web-admin为实例截图如下:

14.Tomcat发布jeesz项目(发布过程不做详细介绍,大家都会做):
下面对各个不同的项目进行介绍:

Jeesz-web-admin: 可以独立部署(后台管理平台

Jeesz-web-service:可以独立部署(REST服务平台,客户可以根据自己的业务去拓展Rest服务,里面已经写好了相关的实例

Jeesz-service-bookmark、jeesz-service-task为dubbo服务提供者(这边只通过收藏和待办项目来对dubbo服务项目开发做相关介绍,客户可以根据自己的业务去拓展dubbo服务,可以同时部署,也可以拆分部署

Jeesz-web-bookmark、jeesz-web-task为dubbo消费者平台,其中dubbo服务对外暴漏的服务接口为:Jeesz-facade-bookmark、jeesz-façade-task(这边只通过收藏和待办项目来描述dubbo客户端怎样调用dubbo服务提供者的过程,客户可以将dubbo消费端植入到不同的项目中,只需要做一些简单配置就可以了

部署条件:

1)  执行mysql数据库脚本:  jeesz.sql

数据库jdbc的配置项可以参考

2)  Jeesz-web-admin可以直接通过tomcat部署

登陆用户名密码:jeesz/admin

3)  Jeesz-web-service:可以通过tomcat独立部署

登陆用户名密码:jeesz/admin

部署dubbo相关的项目需要具备以下条件

>安装dubbo管控平台,将war包解压到tomcat,并将目录替换为根目录,直接启动tomcat即可(开发环境提供window)

>Zookeeper注册中心安装,我这边提供了zookeeper-3.4.5版本(开发环境提供window),进入安装目录启动即可

提醒: 我这边已经给提供了相关的程序,其中dubbo管控平台要独立部署在Tomcat服务器上,这个不需要进行高可用配置,直接启动tomcat就可以启动Zookeeper注册中心有相关的命令可以直接运行启动。如果想部署在linux系统上,可以看我们提供的相关文档即可

5)  待dubbo管控台和注册中心启动ok,则将Jeesz-service-bookmark、jeesz-service-task项目同时(可以独立部署)部署到tomat中,为dubbo服务提供者

6)  登陆dubbo管控台查看相关的服务信息,可以看到你发布的服务已经由管控台进行管控了:

http://localhost:8080/root

直接通过地址可以访问是因为将包名改为了Root

用户名密码:root/root

7)  分部部署Jeesz-web-bookmark、jeesz-web-task  dubbo消费者项目,目的是让开发人员了解服务是怎样调用的。

到此整个项目的安装过程先到这里,请各位开发人员安装完项目后投入开发,所有的业务直接服务化,因为项目是基于驱动开发的,故将你们的表设计好,通过jeesz-web-admin项目的gen代码生成模块自动生成所有的controllerservicedaoxmljsp界面等,直接进行业务编写处理。近期会不断的完善文档,请时刻关注。

 

如果有朋友愿意了解项目更多的信息,请直接到我博客列表:

http://2137028325.iteye.com/

 

分享到:
评论

相关推荐

    eclipse-jee-2020-12-R-中文版(整合中文包).zip

    《Eclipse JEE 2020-12 R 中文版:打造高效Java开发环境》 Eclipse JEE 2020-12 R 是一个强大的集成开发环境(IDE),专为Java企业级应用开发设计。这个版本是Eclipse的年度发布,集成了最新的技术和优化,旨在提供...

    eclipse-jee-luna-R-win32-x86_64.zip

    2. **JEE 版本**: JEE(Java Enterprise Edition)版本的Eclipse专注于服务器端的开发,包括Web应用程序、Java EE应用程序服务器的集成、企业服务和分布式计算等。它包含了Web和Java EE相关的开发工具,如JavaServer...

    eclipse-jee-2018-12-R-linux-gtk-x86_64.tar.gz

    Hadoop是一个开源的分布式计算框架,主要用来处理和存储大量数据。Java是Hadoop的首选编程语言,因为Hadoop的许多组件都是用Java编写的,因此在运行Hadoop之前,必须先安装Java Development Kit (JDK)。 Eclipse ...

    eclipse-jee-2023-03-R-win32-x86-64.zip

    Eclipse JEE版本包含了对JavaEE开发的所有必要工具,如JavaServer Pages (JSP)、Servlet、JavaServer Faces (JSF)、Enterprise JavaBeans (EJB)、Java Persistence API (JPA)、Java Message Service (JMS)等技术的...

    Simplon-GestForage-JEE-JSP-Tomcat

    【Simplon-GestForage-JEE-JSP-Tomcat】是一个基于Java企业版(JEE)技术的项目,主要用于学习和实践Web应用程序的开发。这个项目的核心是使用JavaServer Pages(JSP)进行前端展示,后端由Tomcat服务器提供支持。...

    JEE-PlayGround:JEE-PlayGround

    `JEE-PlayGround`是一个专为Java企业级开发(JEE)设计的实践平台,它提供了丰富的示例代码和练习项目,帮助开发者熟悉和掌握JEE技术栈。这个平台可能包括了各种JEE组件的实例,如Servlet、JSP、JavaServer Faces ...

    java框架帮助文档

    本压缩包文件包含了一些著名的Java框架的官方帮助文档,包括Hibernate、Struts2、JEE、Spring、JUnit和Servlet。这些文档将深入解析每个框架的核心概念、API使用方法以及最佳实践。 1. Hibernate.chm: Hibernate是...

    JEE5_API1-JEE5_API1

    - JSF是一个用于构建用户界面的MVC(Model-View-Controller)框架,JSF 1.2在JEE5中引入,提供了一套标准的UI组件和事件处理机制。 - **UI组件**:例如按钮、输入字段等,通过HTML标签或自定义组件实现。 - **...

    wuic-jee-0.4.2.zip

    标题 "wuic-jee-0.4.2.zip" 提供的信息表明这可能是一个Java企业版(Java EE)相关的开源项目,版本号为0.4.2,而"async-elastic-orm.zip"则暗示了它与异步数据操作和Elasticsearch数据库的ORM(对象关系映射)有关...

    jee 参考手册 (实用版)

    这个“JEE参考手册(实用版)”是开发者的重要参考资料,它包含了全面的API文档,旨在帮助开发者理解和使用JEE的各项功能。 JEE的核心在于其组件模型,包括Servlet、JavaServer Pages(JSP)、JavaServer Faces...

    jee、spring、spring mvc、mybatis 学习(四)

    在本篇学习中,我们将深入探讨Java企业版(Java Enterprise Edition, JEE)、Spring框架、Spring MVC以及MyBatis这四个关键的技术栈。这些技术在现代企业级开发中扮演着重要角色,尤其对于构建可扩展、高效且易于...

    JEE6-Demo:该项目建议使用 JEE6 最新技术来构建 3 层应用程序。 这可用于教授 JEE6。 我在学士学位课程和我的博客中教授的课程非常依赖这个项目,而不必为示例提供完整的代码

    用户可以克隆或下载这个仓库,然后根据项目结构和文档指导,部署和运行该项目,从而深入学习JEE6的各项技术。 总结来说,JEE6-Demo是一个教育性的项目,涵盖了JEE6的多项核心技术,包括但不限于JSP、Servlet、EJB、...

    jee#spring#hibernate#stru2ct

    标题中的"jee#spring#hibernate#stru2ct"和描述中的"Spring#struct2#hibernat#java#jee"共同指向了Java企业级开发中的几个关键框架和技术,包括Java Enterprise Edition (JEE),Spring框架,Hibernate ORM框架,以及...

    jdk api 1.8 中文版 + JEE1.6中文版

    JEE 1.6包含了多个组件和服务,如Servlet、JSP、EJB、JMS、JPA等,用于构建分布式、多层的Web应用程序。 1. **Servlet 3.0**:增加了异步处理支持,允许Servlet在处理请求时返回到事件驱动模型,提高服务器性能。 ...

    jee、spring、spring mvc、mybatis 学习(五)

    在本篇【jee、spring、spring mvc、mybatis 学习(五)】中,我们将深入探讨四个关键的Java企业级开发技术:Java EE(Java Enterprise Edition)、Spring框架、Spring MVC以及MyBatis。这些技术是现代Java Web应用...

    jee-playground:JavaEE游乐场

    JavaEE是Oracle公司主导的服务器端开发平台,它为构建分布式、多层的企业级应用程序提供了一整套框架和服务。这些服务包括但不限于Web容器、EJB容器、数据访问、事务处理、安全性和邮件服务等。 在"jee-playground-...

    JAVAEE_API_1.8

    这个文档集合详细介绍了JEE 1.8中包含的各种接口、类和注解,是开发者理解和使用JEE技术的重要参考资料。 JEE是一个用于构建企业级分布式应用的平台,它提供了丰富的组件和服务,包括但不限于: 1. **Servlet**:...

    liferayPortal

    本篇文章将详细介绍Liferay的整体框架以及各个主要功能模块的具体实现,旨在帮助读者全面了解Liferay的核心优势和技术细节。 #### 二、操作系统支持 Liferay Portal支持多种操作系统,包括但不限于: - **Linux** -...

    最新 j2ee luna

    Java EE(以前称为J2EE)是Java平台企业版的简称,是Oracle公司推出的一个用于开发分布式、多层企业级应用程序的框架。Luna是Eclipse IDE针对Java EE开发的一个特定版本,它为Java EE开发者提供了丰富的工具集和强大...

Global site tag (gtag.js) - Google Analytics