Alfresco as a platform

namibiancurrishInternet και Εφαρμογές Web

12 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

90 εμφανίσεις

Alfresco as a platform

Thoughts for discussion | March, 2007

2

What is a platform?

Set of services that developers can leverage to build
applications

The services that are important vary by solution

User interface/presentation layer

Data model/persistance layer

Library services

Transactions

Security

Workflow/BPM

Integration hooks

Scheduler

Server
-
side API

Development (config, customize, extend, manage, deploy) model

Solution
-
specific services such as search, transformation

Marketing guys want to sell platforms


Infinity: “It's not an automobile, it is a sound studio on wheels.”



3

Platform or not?

These are examples of platforms


Lotus Notes/Domino


ATG/Dynamo


Vignette


Zope


Documentum

These are examples of tools, frameworks, and niche
solutions


LAMP, PHP, Symfony


J2EE, Tomcat, JBoss, Spring


Most mid
-
market ECM solutions

Does it matter?

4

So is Alfresco a platform?

Yes. Alfresco is a platform for content
-
centric solutions.
It provides all of the services mentioned earlier...

User interface/presentation layer: Spring/MyFaces

Data model/persistance layer: Extensible content model

Library services: Check
-
in/check
-
out, versioning

Transactions: Configurable via Spring

Security: Authenticate against LDAP, define custom roles

Workflow/BPM: Simple workflows or embedded JBPM

Integration hooks: Write your own actions or policies that will call
other apps with Java; Other apps integrate with Alfresco via JCR
or Web Services

Scheduler: Leverages Quartz scheduler

Server
-
side API: Via the Rhino JavaScript engine

Development (config, customize, extend, manage, deploy) model:
Create light extensions through Freemarker, heavier
customizations via Java

Solution
-
specific services such as search, transformation: Lucene
handles search; Some content transformers provided OOTB; Add
-
ons for things like records management

Okay, but for what types of solutions?

5

Four Alfresco patterns

Straight Alfresco


Use cases: Typical ECM: Document management, imaging,
records management


Client: Web client UI is acceptable OOTB or with minor
customizations; Office suites


Process: Simple to complex processes


Content: Document
-
centric

Alfresco as a Repository


Use cases: NGI applications, portals


Client: Custom; leverage a framework such as Symfony (PHP),
Liferay (Java), or Jboss Portal (Java)


Process: Simple to complex; may have integration requirements


Content: Content
-
centric

6

Four Alfresco patterns

Alfresco for Traditional WCM


Use cases: Enable non
-
technical users to manage mostly static
web sites


Client: Web client


Process: Simple


Content: XML
-
centric

Alfresco for Dynamic WCM


Use cases: Enable both technical and non
-
technical users to work
together to maintain a dynamic web site (application)


Client: Web client, Eclipse and other tools


Process: Simple to complex processes


Content: XML
-
centric

7

Alfresco anti
-
patterns

An issue of “could you” versus “should you”


You
could use Alfresco to develop a CRM application but should
you?

Alfresco as the portal or community


Alfresco is not there yet, but watch for developments in this area

Alfresco as a platform for non
-
document
-

or non
-
content
-
centric solutions


Alfresco is built to handle content, not as a replacement to
Hibernate

Source code management [Brought up by one of the
meet
-
up participants]


Until Alfresco supports the SVN protocol, developers probably will
not be willing to give up their current tools to use Alfresco for
source code management

Others?


8

Contact info

Jeff Potts, Optaros

Personal blog: http://ecmarchitect.com

Optaros web site: http://www.optaros.com