zoukankan      html  css  js  c++  java
  • liferay是什么

    1. Liferay简介: 

    官方网站(http://www.liferay.com/)

      1.1 Liferay是什么:   

    Liferay是一个开源公司,我们一般谈Liferay是指的Liferay Portal。Liferay Portal始创于2000年的洛杉机,当时是一个非营利性组织。于2004年建立Liferay公司,今天Liferay的办事    处和子公司遍及北美、德国、中国、西班牙和印度等,在全球30多个国家有建立合作伙伴帮助其扩展全球业务。

      EE版和SE版
        EE版是企业版,SE版是社区版。关于企业版和社区版的差异,在Liferay的官方网站上有详细的介绍。
        简单的说就是企业版是更稳定、更可靠、有服务支持、收费的版本;
        社区版是免费的、没有服务支持的、代码是最新的、对稳定必及可靠性不做提供保障的。
        社区版可以在Liferay的官方网站上下载到源码和编译后的运行环境等,
        企业版可以有30天的试用,需要付费后获取源码。

      1.2 Liferay与web: 

      Portal是基于Web, 以应用整合和消除信息孤岛为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合信息系统。

        完整的Portal通常由Portal服务器、Portlet容器、Portlet组件构成。

        Portlet容器提供Portlet的执行环境, 包含很多Portlet并管理它们的生命周期, 保存Portlet的定制信息。
        Portlet是Java的web组件, 和servlet类似, 是Portal中最重要的组件, 负责在Portal中呈现信息内容,有相应的生命周期。
        一个Portal系统可以由一个或多个Portal页面组成, 一个Portal页面则由一个或多个Portlet小窗口组成

      1.3 Liferay的优点: 

       1. liferay有很多开箱即用的功能:博客、wiki、论坛、日历、内容管理等,并且还有提供完善的用户管理、
            组织管理、权限管理、页面管理等,在没有特殊需求的情况下,可以在不编码或做少量二次开发的情况下构建完整的内部系统
         2. 容易安装和使用,和普通web程序相同。
         3. 开源免费:不需要支付任何费用,是一个开源的Portal框架,如果发现一些功能不能满足自己的需求,
           想要调整部分功能,我们可以自己调整。
         4. 基于标准技术构建:使用的是基于标准的技术,可以最大程度的复用之前学到的技术
         5. 易于与其他系统集成:与其他的portal等
         6. 持续更新:可以持续使用
     

    1.4 Liferay的用途: 

      企业内部的信息化系统。可以用来做知识管理系统、企业信息门户系统、信息协作平台、政府电子政务平台、
        企业电子商务平台、各种信息管理系统


    2. 开发都需要什么工具(上篇文章有详细的安装文档) 

    Eclipse和Tomcat,具体为:
      Eclipse插件
        liferay-ide-updatesite-3.1.0-m2-201702090100.zip
      Liferay SDK
        liferay-plugins-sdk-6.2-ce-ga5-20151118111117117.zip
      Liferay portal和Tomcat
        liferay-portal-tomcat-6.2-ce-ga5-20151119152357409.zip
      Eclipse Noen2
        eclipse-jee-neon-2-win32-x86_64.zip
      JDK 7
        JDK 7
      oracle 11g express和java jdbc驱动包
        OracleXE112_Win64.zip, ojdbc6_g.jar

    3. Liferay开发模式:

      在Liferay IDE 2.0中我们创建Liferay插件工程的时候,有以下几个选项:
        Portlet
        Service Builder Portlet
        Hook
        Layout Template
        Theme
        Ext

        1. Portlet:这个是一般做Liferay开发选择的项目,一般说Liferay插件工程,通常都是指的Portlet工程。 它的结构和内容和普通的WEB工程区别不大。
        2. Service Builder Portlet
          这个模式是在Liferay IDE 2.0里面才新加的,其实也不是一个新东西,和第一个Portlet模式基本无差异,差异地方就在于使用此模式建立Portlet插件工程时,会在WEB-INF         生成一      个Service.xml的文件。在第一种Portlet里面,我们也可以加入这个文件。
        3. Hook:这个单词中文可以翻译成钩子。是用于重写或覆盖Liferay的一些默认方法或页面。
          为开发提供了一种在不直修改Liferay核心源码的情况下修改Liferay核心功能的方法。
          http://www.huqiwen.com/2012/10/15/liferay-6-1-development-study-9-hook-brief/

         4. Layout:布局模板,Liferay的布局是可以定制的,如一个页面中是两栏式还是三栏式,每个栏里面又有几行等等,
          可以使用此模式进行快速开发。
          http://www.huqiwen.com/2012/09/25/liferay-6-1-development-study-7-layout/

        5. Theme:主题包。Liferay IDE提供的可以帮助开发人员、设计人员快速开发Liferay主题包的功能,
         通过此模式提供的向导工具等,为主题包的开发大大的提供了便利。
         http://www.huqiwen.com/2012/09/25/liferay-6-1-development-study-8-theme/

        6. Ext:扩展工程的开发方法是Liferay早期版本推荐的开发方法,在6.x版本之后对ext开发模式逐渐不再推荐,
         主要使用Portlet的开发方法。扩展开发可以继承Liferay的Portal的大部分接口方法,
         而Portlet里面可以使用的接口方法均是Services包里面暴露的API。
         但是和Liferay的核心工程耦合太大,当Liferay的版本升级时对Ext工程的影响太大,
         基本需要重新修改。所以一般不推荐使用Ext模式。

        在这些开发模式中,前5种基本上是平级的,一般考虑的顺序为Portlet=Theme=Hook>Ext>基于源码的开发。在实际的项目中,
        一个稍大点的项目上面的开发模式,除了基于源码的开发,其他的一般都会用到。
        比如在我们的项目中一般会存在:
    1、多个Portlet工程:按大的模块拆分工程,一个Portlet工程下面包含多个portlet。
    2、两个theme工程:一个前台主题、一个后台主题。
    3、一个Hook工程:用来对一些内容进行Hook,比如登录、引入JS、一些业务逻辑调整、翻译调整等。
    4、一个Ext工程(根据实际情况而言,此工程也不是必须的):对一些Liferay本身的功能进行调整,以更方便项目的进行;

    4. 目录结构,都包括哪些

    Portlet项目的目录结构:
    1、src:这里存储Java相关文件包,
    2、service是Service Builder 生成的文件包。
    3、web.xml:此web.xml和普通的web工程的web.xml文件一样。
    4、build.xml,此文件为ant的构建文件,一般不需要修改继承自SDK。
    5、Liferay-plugin-package.properties,此文件为包工程的元数据信息文件,一般开发不需要关注。
    6、portlet.xml:portlet定义描述文件,这个文件是标准的portlet 2.0(JSR 268)规范的文件。
    在这里定义的信息为portlet的名称、初始化参数、模式类型、portlet的相关信息、权限等。
    7、Liferay-portlet.xml:此文件是liferay扩展的portlet的内容,portlet.xml文件里面是标准的Portlet内容,
    所有的Portal容器的portlet.xml文件描述、结构都是一样的。
    但liferay基于自身平台的需求,又添加了一个Liferay-portlet.xml来扩展portlet的信息。在这里可以看到角色映射,以及Liferay的一些个性化信息
    8、liferay-display.xml:此文件是定义相关的portlet是放置在哪个目录下面显示的。
    说明:
    在Liferay里面,portlet的名称一般不要重复,portlet.xml,liferay-portlet.xml,lifray-display.xml这三个文件之间的关联就是通过portlet 名称做标识进行关联。

    5. 关于liferay的代码生成器 ServiceBuilder

    5.1 ServiceBuilder是什么?

    Service Builder是Liferay提供的一种代码生成方案,开发人员只需要编辑一个数据库的实体描述文件(XML),
    即可根据此XML文件生成Spring层代码、Hibernate层代码、SQL、SQL索引创建文件、Spring和hibernate的配置文件等,
    可以大提高开发人员的效率。简单说就是根据数据库描述文件,生成service层和持久化层的代码,开发人员只需要关注控制层即可。

    5.2 ServiceBuilder有什么好处?

    1、ServiceBuilder不是必须的,只是Liferay提供的一个代码生成方案,用来和数据库打交道,
    自己写JDBC连接、使用JPA、hibernate等都是可以的。
    2、即使自己开发不使用ServiceBuilder,还是有必要进行学习的。
    因为Liferay源码里面和数据库打交道的业务层、持久层的代码都是基于ServiceBuilder进行的,
    学习后有助于理解并掌握Liferay的源码和相关API。
    3、Liferay的ServiceBuilder能够加快开发效果。
    4、Liferay本身的一些UI标签等,必须要配合ServiceBuilder使用。
    5、使用ServiceBuilder可以方便的生成远程访问接口。

    5.3 ServiceBuilder生成方法

    项目右键-->New-->Liferay Service Builder 就会为项目生成service.xml,在service.xml的overview模式下,可以一一定义下面信息;
    a. 定义entities
    b. 定义entity的列
    c. 定义entities关系
    d. 定义排序
    e. 定义FINDER方法
    定义完成后,项目右键-->Liferay-->Build Services 则会自动生成实体类、数据持久化、服务相关的代码,此时需要将WEB-INF下生成的service
    文件夹 设为源文件。

    6. 成品展示(demo)

    1. 配页面
    2. 添加portlet
    3. 布局模板
    4. 页面类型:嵌入页面



  • 相关阅读:
    vb.net EXCEL进程问题
    VB.NET 中使用正则表达式
    改变鼠标状态
    举证信息表,语言不是VB.NET 是VBA的
    初学查询时的一些东西
    删除关联错误
    对于 using ESRI.ArcGIS.Carto; 的引用。是否缺少 using 指令或程序集引用
    AxMapControl 引用问题
    堆排序:大顶堆,小顶堆
    abs()函数,fabs函数(),max()函数的区别
  • 原文地址:https://www.cnblogs.com/yunyunde/p/7206462.html
Copyright © 2011-2022 走看看