1. Trang chủ
  2. » Công Nghệ Thông Tin

Alfresco tutorial

14 1,5K 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 912 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Overview Tổng quan Alfresco – Alfresco là gì P1 Tính năng By Giải pháp mở on Tuesday, January 3, 2012 Alfresco là một hệ thống ECM mã nguồn mở dùng cho Microsoft Windows và các hệ điều

Trang 1

1 Overview

Tổng quan Alfresco – Alfresco là gì (P1 Tính năng)

By Giải pháp mở on Tuesday, January 3, 2012

Alfresco là một hệ thống ECM mã nguồn mở dùng cho Microsoft Windows và các

hệ điều hành tương tự Unix khác Alfresco có hai phiên bản: Alfresco

Community Edition là phần mềm miễn phí dựa trên các chuẩn mở và giấy phép

mã nguồn mở LGPL Alfresco Enterprise Edition là phiên bản thương mại cho đối tượng doanh nghiệp Alfresco bao gồm một kho quản trị nội dung (content

repository), đi cùng một web portal framework dùng cho việc quản lý và sử dụng nội dung được lưu trữ, một giao thức CIFS hỗ trợ tương thích với hệ thống file trên Microsoft Windows và các hệ điều hành tương tự Unix khác, một hệ thống quản lý nội dung web có khả năng xây dựng các ứng dụng web và website tĩnh qua Apache Tomcat, engine tìm kiếm Lucene, engine quy trình jBPM Hệ thống Alfresco được phát triển trên công nghệ Java.

John Newton (đồng sáng lập Documentum) và John Powell (cựu COO của

Business Objects) đã sáng lập Alfresco Software, Inc vào năm 2005 Các nhà đầu

tư bao gồm bộ phận đầu tư của SAP Ventures, Accel Partners và Mayfield Fund Đội ngũ kỹ thuật ban đầu gồm các kỹ sư từ Documentum và Oracle.

Vào tháng 10 năm 2009, báo cáo Open Source CMS Market Share 2009 đã tôn

vinh Alfresco là hệ thống quản trị nội dung web nền Java hàng đầu.

Phiên bản Alfresco hiện tại là 3.4d ra mắt ngày 15/3/2011

Trang 2

Tính năng

Hình 2.2: Sơ đồ tính năng Alfresco

Một số tính năng chính của Alfresco bao gồm:

 Document Management ( quản lý tài liệu ): đây là tính năng chủ đạo và

thành công nhất của Alfresco.

 Web Content Management (quản lý nội dung web, bao gồm khả năng tạo

ứng dụng web hoàn chỉnh và ảo hóa session)

 Repository-level versioning (phiên bản hóa ở cấp độ Repository, tương tự

Subversion)

 Records Management (quản lý hồ sơ theo chứng chỉ 5015.2)

 Truy cập kho dữ liệu (Repository) qua CIFS/SMB, FTP, WebDAV, NFS

và CMIS

 jBPM workflow (engine quy trình jBPM)

 Lucene search (engine tìm kiếm Lucene )

 Hỗ trợ đa nền tảng (chính thức hỗ trợ Windows, Linux và Solaris)

 Giao diện người dùng nền trình duyệt (hỗ trợ chính thức cho Internet

Explorer và Firefox)

Trang 3

 Tích hợp với ứng dụng desktop như Microsoft Office và OpenOffice.org

 Hỗ trợ Clustering

 Hỗ trợ nhiều hình thức chứng thực: NTLM, LDAP, Kerberos, CAS

 Hỗ trợ nhiều hệ quản lý cơ sở dữ liệu mạnh mẽ: mysql, postgresql, oracle.

Tổng quan Alfresco (P2 Kiến trúc Alfresco)

By Giải pháp mở on Tuesday, January 3, 2012

Nhiều đối thủ cạnh tranh của Alfresco (phần lớn là closed-source) có thiết kế phức tạp bao gồm nhiều công nghệ đôi khi đối lập nhau Theo thời gian, kiến trúc của các ECM này ngày càng

cồng kềnh làm giảm hiệu năng và tính ổn định hệ thống Alfresco không đi theo con đường đó

Alfresco bảo đảm các điều kiện sau:

Tương đối đơn giản và minh bạch trong kiến trúc.

Xây dựng từ các framework và các component nguồn mở mạnh mẽ và uy tín nhất.

Hỗ trợ nhiều phương thức tương tác với dữ liệu và các chuẩn liên quan

Dưới đây là sơ đồ kiến trúc bậc cao của Alfresco

Trang 4

Hình 2.3: Sơ đồ kiến trúc bậc cao của Alfresco

(a) Kiến trúc bậc cao

Một số điểm quan trọng ở kiến trúc Alfresco từ sơ đồ trên:

Có nhiều cách để truy cập nội dung bên trong Repository Ta có thể dùng các giao thức (CIFS,

WebDAV, FTP, SMTP) hoặc các bộ thư viện được cung cấp sẵn ở bên phải sơ đồ (JavaScript

API, Web Services, JCR,…)

Alfresco hoạt động dưới dạng một ứng dụng web bên trong một Servlet Container Trong đó,

web client (Alfresco Explorer) chạy cùng một tiến trình với Repository

Các thành phần mở rộng (extension) và các tùy chỉnh (customization) hoạt động như một bộ

phận của ứng dụng web Alfresco Alfresco định ra một cơ chế để tách rời các phần này khỏi

nhân sản phẩm giúp dễ dàng nâng cấp về sau

Metadata được lưu trữ trong một cơ sở dữ liệu quan hệ (Relation DB) trong khi các file tài liệu

và các chỉ mục (index) của Lucene lưu trên hệ thống file của máy chủ

WCM Virtualization Server là một bộ Webserver Tomcat với các cài đặt của Alfresco cùng các

bộ thư viện dạng file JAR được Alfresco sử dụng.

Trang 5

(b) Các Add-On

Alfresco cho phép cài đặt thêm các phần tính năng chưa được nhân sản phẩm hỗ trợ gọi là

Add-On Ta có thể download về nhiều gói Add-On do cộng đồng Alfresco phát triển, hoặc bên thứ ba

cung cấp Một số Add-On quan trọng là Records Management và bộ tích hợp Facebook (Alfresco cung cấp), bộ tích hợp giải pháp OCR Kofax do Kofax cung cấp và các gói ngôn ngữ

dùng cho việc bản địa hóa (localize) webclient của Alfresco …

(c) Các Component nguồn mở

Alfresco được xây dựng trên nhiều component nguồn mở chất lượng cao Nhờ đó việc phát triển

mất ít thời gian hơn và kết quả thu được là một sản phẩm mạnh mẽ, hỗ trợ nhiều chuẩn thông

dụng Lợi ích thứ hai dành cho các nhà phát triển Họ sẽ dễ dàng chuyển đổi từ nền tảng đang làm việc sang Alfresco Ví dụ nếu lập trình viên đã có kiến thức về JSF (JavaServer Faces) hoặc Spring thì khi làm việc với Alfresco, họ sẽ phát hiện nhiều cách làm tương tự

Bảng dưới đây liệt kê danh sách một số component nguồn mở chính được sử dụng để xây dựng Alfresco:

Component nguồn mở

Sử dụng trong Alfresco

Mozilla Rhino JavaScript

Engine(http://www.mozilla.org/rhino/)

Framework xử lý Web script, JavaScript phía server, cùng các Action

OpenSymphony

Quartz(http://www.opensymphony.com/quartz/)

Lên lịch cho các quy trình bất đồng bộ

Spring ACEGI

(http://www.acegisecurity.org/)

Quản lý bảo mật (xác thực người dung), quyền và phân quyền

Apache Axis (http://ws.apache.org/axis/)

Web services

Apache FOP

(http://xmlgraphics.apache.org/fop/)

Chuyển đổi XSL:FO thành PDF

Trang 6

Apache POI (http://poi.apache.org/) Rút trích metadata từ file MS Office

JBoss jBPM

(http://www.jboss.com/products/jbpm)

Advanced workflow

Bảng 2.1: Các component nguồn mở được sử dụng để xây dựng Alfresco

You are here: Home » Giải pháp » Quản lý tài liệu » Tổng quan Alfresco (P3 Các chuẩn và

giao thức chính được hỗ trợ)

Tổng quan Alfresco (P3 Các chuẩn và giao thức chính được hỗ trợ)

By Giải pháp mở on Tuesday, January 3, 2012

Alfresco là phần mềm nguồn mở Vì thế việc hỗ trợ các chuẩn và giao thức là rất quan trọng,

giúp Alfresco có khả năng phối hợp tốt hơn với các dự án nguồn mở khác Dưới đây là một số

chuẩn và giao thức chính được hỗ trợ

FTP Người dùng có thể truy cập tài liệu qua giao thức FTP Alfresco

chưa hỗ trợ Secure FTP

nhà cung cấp ECM WebDAV cho phép Window Explorer truy cập

Repository như trên file hệ thống.

CIFS CIFS cho phép biến Repository thành một đĩa cứng mạng cho

nhiều máy trong một hệ thống Khác với WebDAV, người dùng không thể thấy được sự khác biệt giữ file server truyền thống và Alfresco Repository được dùng như đĩa cứng mạng qua CIFS.

như Alfresco Có 2 cấp độ tương thích với JCR, Alfresco gần đạt

độ tương thích cấp 2 với chuẩn JCR.

trên Repository Web Scripts có thể trả về kết quả ở định dạng:

Trang 7

XML, HTML, JSON, hoặc portlet chuẩn JSR-168.

SOAP Web Services API của Alfresco dựa trên chuẩn SOAP.

OpenSearch

(http://www.opensearch.org)

Người dùng có thể cài đặt cho Alfresco Repository trở thành kho

dữ liệu của OpenSearch Khi đó từ một webclient, người dùng có thể tìm kiếm trên nhiều Repository tương thích OpenSearch cùng lúc.

hết các XForm.

Microsoft Active Directory.

Bảng 2.2: Các chuẩn vào giao thức chính được Alfresco hỗ trợ

Để tích hợp Alfresco với CMS ta có 2 giải pháp: sử dụng WebService API được Alfresco cung

cấp hoặc CMIS So với Alfresco WebService API, CMIS có các ưu điểm sau:

Chỉ cần viết một lần, chạy với tất cả các Repository CMIS là chuẩn đặc tả chung do các nhà

phát triển ECM lớn nhất lập ra Ngày càng nhiều ứng dụng ECM tham gia hỗ trợ Do đó, việc tích hợp chỉ cần làm một lần Nếu cần kết nối thêm một Repository của ECM khác, nhà phát

triển chỉ cần thiết lập các thông số

Tích hợp đa Repository CMIS cho phép làm việc cùng lúc với một hoặc nhiều ECM Ưu điểm

này có được do phần lớn các nhà phát triển ECM đồng thuận hỗ trợ CMIS

Hỗ trợ Quản lý quy trình nghiệp vụ xuyên suốt các Repository Hiện nay phiên bản 0.9 của

đặc tả CMIS chưa hỗ trợ Tuy nhiên tính năng này được các nhà phát triển hứa hẹn sẽ ra mắt trong phiên bản tiếp theo

Người dùng chỉ cần học cách dùng một giao diện cho tất cả Repository Điều này có được do

khả năng tích hợp đa Repository Việc này rất tiện lợi cho người dùng vì một lần tiếp xúc với giao diện mới họ sẽ gặp nhiều khó khăn gần như học lại từ đầu

Việc sử dụng CMIS tạo cho giải pháp tích hợp khả năng mở rộng cao trong tương lai, khi cần

tích hợp thêm một hoặc nhiều Repository của nhà cung cấp khác

Trang 8

Alfresco example

Create a project with alfresco

Thêm project SDK AlfrescoEmbedded vào project WebScript

Trang 9

ChecknameWebScript.java

package config.module.demoscripts;

import java.io.IOException;

import org.alfresco.service.cmr.security.PersonService;

import org.springframework.extensions.webscripts.AbstractWebScript;

import org.springframework.extensions.webscripts.WebScriptRequest;

import org.springframework.extensions.webscripts.WebScriptResponse;

public class ChecknameWebScript extends AbstractWebScript{

private PersonService personService ;

public PersonService getPersonService() {

Trang 10

return personService ; }

public void setPersonService(PersonService personService) {

this personService = personService;

}

public void execute(WebScriptRequest req, WebScriptResponse res)

throws IOException{

String name = req.getParameter( "reg_name" );

res.getWriter().append( "false" +name);

}

}

Checknam.get.desc.xml (định nghĩa url)

< webscript >

< shortname > Check username </ shortname >

< description > Check username for validation </ description >

< url > /components/profile/checkname_alfresco </ url >

< authentication runas ="admin"> none </ authentication >

< format default ="json"> extension </ format >

< transaction > required </ transaction >

</ webscript >

share-check-content.xml (định nghĩa và liên kết class vs file get.desc.xml)

<? xml version ='1.0' encoding ='UTF-8'?>

<! DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd' >

< beans >

< bean id ="webscript.org.metadata.global.checkname.get"

class ="config.module.demoscripts.ChecknameWebScript" parent ="webscript">

< property name ="personService" ref ="personService"/>

</ bean >

</ beans >

build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<project basedir="." default="build" name="WebScript">

<property file="build.properties"/>

<property name="project.dir" value="."></property>

<property name="src.dir" value="${project.dir}/config"></property>

<property name="build.dir" value="${project.dir}/build"></property>

<property name="classes.dir" value="${build.dir}/classes"></property>

<property name="package.jar"

value="${project.dir}/${build.dir}/app-checkname.jar"></property>

<path id="classpath.build">

<fileset dir="${alfresco.sdk.dir}" includes="**/*.jar"></fileset>

<fileset dir="${project.dir}" includes="**/*.jar"></fileset>

</path>

<target name="clean">

Trang 11

<delete dir="${build.dir}" ></delete>

</target>

<target name="compile" depends="clean">

<mkdir dir="${classes.dir}"/>

<javac srcdir="${src.dir}" destdir="${classes.dir}" source="1.6"

includeantruntime="false" target="1.6" debug="on" fork="yes">

<classpath refid="classpath.build"></classpath>

</javac>

</target>

<target name="build" depends="compile">

<delete file="${package.jar}"></delete>

<jar destfile="${package.jar}">

recaptcha4j-0.0.7.jar, readme.txt"></fileset>

</jar>

<copy todir="${tomcat.alfresco.lib.dir}">

<fileset file="${package.jar}"></fileset>

</copy>

</target>

</project>

Kết quả :

Console :

clean :

compile :

F:\workspace\ALFRESCO_SVN\WebScript\build\classes

build :

BUILD SUCCESSFUL

Total time: 28 seconds

Ngày đăng: 06/05/2014, 13:50

Xem thêm

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Sơ đồ tính năng Alfresco - Alfresco tutorial
Hình 2.2 Sơ đồ tính năng Alfresco (Trang 2)
Hình 2.3: Sơ đồ kiến trúc bậc cao của Alfresco - Alfresco tutorial
Hình 2.3 Sơ đồ kiến trúc bậc cao của Alfresco (Trang 4)
Bảng dưới đây liệt kê danh sách một số component nguồn mở chính được sử dụng để xây dựng  Alfresco: - Alfresco tutorial
Bảng d ưới đây liệt kê danh sách một số component nguồn mở chính được sử dụng để xây dựng Alfresco: (Trang 5)
Bảng 2.1: Các component nguồn mở được sử dụng để xây dựng Alfresco - Alfresco tutorial
Bảng 2.1 Các component nguồn mở được sử dụng để xây dựng Alfresco (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w