atleap introduction 1.0

Upload: rarun99

Post on 08-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 AtLeap Introduction 1.0

    1/36

    2002-2008 Blandware.

    Blandware AtLeap

    Introduction

    Andrey Grebnev

    andrey.grebnev(at)blandware.com

  • 8/7/2019 AtLeap Introduction 1.0

    2/36

    2002-2008 Blandware.

    Overview

    Blandware AtLeap is the Java multilingual

    Website Content Management System

    Blandware AtLeap is an application for rapid

    start of web applications development Blandware AtLeap is FREE Open Source

    Software under the Apache 2.0 license

    Cross-platform, 100% pure Java Blandware AtLeap is the project on Enterprise

    java.net community site http://atleap.dev.java.net

    http://atleap.dev.java.net/http://atleap.dev.java.net/http://atleap.dev.java.net/
  • 8/7/2019 AtLeap Introduction 1.0

    3/36

    2002-2008 Blandware.

    The basis is AppFuse

    Blandware AtLeap is initially AppFuse

    based project http://appfuse.dev.java.net/

    AppFuse is being developed since 2002year

    AppFuse is being developed by Matt

    Raible, the author of Spring in Live and

    member of J2EE1.5 Expert Group

    http://appfuse.dev.java.net/http://appfuse.dev.java.net/
  • 8/7/2019 AtLeap Introduction 1.0

    4/36

    2002-2008 Blandware.

    Destination

    Internet sites

    Blandware AtLeap

    does not restrict the

    ideas of your Webgraphical designer.

    It allows you to create

    unique, exceptional

    solution for you or

    your customer.

    Web applications

    Blandware AtLeap

    allows you to develop

    secure, stable,reliable web

    applications with

    complicated business

    logic.

  • 8/7/2019 AtLeap Introduction 1.0

    5/36

    2002-2008 Blandware.

    Software requirements

    Blandware AtLeap can be run on free open source software. It does NOT require heavy or expensive EJB application servers. Apache Tomcat 5.x, 6.x, Caucho Resin 3, JBoss 4, Geronimo 1,2,

    IBM WebSphere Community Edition 1, ObjectWeb JOnAS 4, BeaWebLogic 9, IBM WebSphere 6, Jetty 5, Sun Java System AS 8, 9,

    Oracle AS 10.1.3 or any other servlet container which implements: JSR 152: Java Server Pages 2.0, JSR 154: Servlet 2.4.

    Sun, IBM, Bea JRockit JDK 1.4.2 or later Apache Ant 1.6.2 or later Relational DBMS: MySQL, PostgreSQL, Hypersonic, Oracle, IBM

    DB2, MS SQL, Derby, Interbase etc.

  • 8/7/2019 AtLeap Introduction 1.0

    6/36

    2002-2008 Blandware.

    Awards and testimonials

    Second place in Java contest of Sun Microsystemscorporation www.javakonkurs.ru

    Second place in software developers contest of Intelcorporation www.intelcup.ru

    Hong Zhang said about AtLeap's deployment process:"The whole process went pretty smooth... Theinstructions that Andrey provided are verystraightforward and easy to follow. The actualdeployment was like a breeze.

    Hong Zhang,

    Member of Technical Staff,

    Sun Microsystems.

    http://www.javakonkurs.ru/http://www.intelcup.ru/http://www.intelcup.ru/http://www.javakonkurs.ru/
  • 8/7/2019 AtLeap Introduction 1.0

    7/36

    2002-2008 Blandware.

    Architecture

    Blandware AtLeap is

    based on modern

    industry free open

    source technologies. It uses best practices

    and design patterns

    of Sun Microsystems,

    JCP (JavaCommunity Process)

    and other.

    Servlet Container

    JDBC driver

    Web Server

    RDBMS

    Hibernate

    +EhCache

    Spring

    Struts+Tiles, FCKEditor (or

    TinyMCE)

    AcegiDAO

    OSCacheMVC

    Log4j

    Ant,XDoclet,DocBook,CheckStyle,PMD

    POI, PdfBox

    JUnit,D

    BUnit,HtmlUn

    it,JMock

    Lucene

  • 8/7/2019 AtLeap Introduction 1.0

    8/36

    2002-2008 Blandware.

    Security

    About 130 hard-coded roles.

    Facility to add dynamical roles.

    3 pre-created groups.

    Ternary relationship between users, rolesand groups.

    Authentication using Acegi.

    Remember me function.

    SSL support.

  • 8/7/2019 AtLeap Introduction 1.0

    9/36

    2002-2008 Blandware.

    Model2 of MVC design paradigm

    Apache Jakarta Struts is the heart of Blandware AtLeap. Struts are being developed since 2001 year. There are many tools which has integration with Struts. Struts:

    Separation of logic, style and data. Server and client side validation of input forms. Transparently saves state information and repopulates forms

    when they redisplay. Prevention of double form submission. Rich JSP tag library.

    One of the main Struts components isAction. The actionis Java method that encapsulates application businesslogic.

  • 8/7/2019 AtLeap Introduction 1.0

    10/36

    2002-2008 Blandware.

    Struts Tiles

    Tiles is templating librarythat allows you toconstruct views bycombining various tilesspecified by definitions in

    XML file. Several tiles can be

    included into another one. The tile can extend

    another and override

    included tiles. Some action can be

    performed before tiledisplaying.

    Tile - body

    Tile - header

    Tile - footer

    Tilerightcolumn

    Tile

    Tile

    Tile

  • 8/7/2019 AtLeap Introduction 1.0

    11/36

    2002-2008 Blandware.

    Content Fields

    The content field is a editablearea of the page.

    Any tile can have one orseveral content fields with textfor each language.

    3 types of fields: Single line text Multi line text HTML edited via WYSIWYG

    editor

    The field has unique identifier.

    The field can be indexed torepeat block that is toocomplex to edit via editor.

    The fields location is defined inJSP by special tags.

    Field - header

    Field - footer

    body[i]

    body[0]

    body[1]

    body[2]

  • 8/7/2019 AtLeap Introduction 1.0

    12/36

    2002-2008 Blandware.

    Sequences

    Sequence contains a listof links to Pages orResources.

    Any tile can have one orseveral sequences.

    2 types of sequences: Sequence of pages Sequence of resources

    The sequence has uniqueidentifier.

    The sequences areiterated in JSP usingspecial tags.

    pages[i]

    item[0]

    item[1]

    item[2]

  • 8/7/2019 AtLeap Introduction 1.0

    13/36

    2002-2008 Blandware.

    Layout

    The layout bases on most outer tile definition (tile of the page

    as a whole).

    The layout can extend another together with its tile definition.

    The layout specifies the language dependent values for each

    content field and sequences which are allowed here.

    The child layout can override some fields (and/or sequences)

    from parent layout and/or add new ones.

    You can enable/disable and move tiles in the scope of

    containers using admin console.

  • 8/7/2019 AtLeap Introduction 1.0

    14/36

    2002-2008 Blandware.

    Content Page

    The content page abstraction allows you to haveas many pages with static content as you wish.

    The content page is entirely virtual page storedin DB.

    You can specify content page URL (searchengine friendly).

    The content page bases on layout. The content page can override some fields

    (and/or sequences) from layout. You can dynamically specify roles to restrict

    access to the content page.

  • 8/7/2019 AtLeap Introduction 1.0

    15/36

    2002-2008 Blandware.

    Action Page

    The action page abstraction allows you to editcontent even on pages that are dynamicallygenerated usually depending on database data.

    The action page is the result of performing some

    struts action. The action page bases on layout implicitly

    (runtime). The action page can override some fields

    (and/or sequences) from layout and/or add newones. You can specify roles in XML file to restrict

    access to the action page.

  • 8/7/2019 AtLeap Introduction 1.0

    16/36

    2002-2008 Blandware.

    Class model of AtLeap ideology

    Localizable

    ContentPageActionPage

    Page-uri

    -roles

    Layout-tile definition

    Value-language

    -value

    Field-identifier

  • 8/7/2019 AtLeap Introduction 1.0

    17/36

    2002-2008 Blandware.

    Resources

    You can upload the resources (files,documents and images) from localcomputer into Blandware AtLeap.

    The resources are stored in the DB. The images support thumbnails.

    The documents support preview of the

    beginning of the text. You can dynamically specify roles to

    restrict access to the resource.

  • 8/7/2019 AtLeap Introduction 1.0

    18/36

    2002-2008 Blandware.

    Menus

    Blandware AtLeap has a flexible hierarchical menusystem.

    You can specify menu items for some layout and thenoverride them on the child layout or content (or action)

    page. Menu item has language dependent title and tooltip.

    You can make link by selecting from list of availablecontent (or action) pages or files.

    You can insert menu item icon by selecting thumbnailfrom list of available images.

    You can dynamically specify roles to restrict access toeach menu item.

  • 8/7/2019 AtLeap Introduction 1.0

    19/36

    2002-2008 Blandware.

    WYSIWYG HTML editor

    Blandware AtLeap uses two editors FCKEditor and TinyMCE to editHTML content field values. You can dynamically switch to morepreferred one.

    Editors are compatible with IE5.5+, Gecko (Mozilla 1.3+, Firefox 1.0+, Netscape 7+), Opera 9.5+ and Safari 3.0+ browsers.

    Rich font and text formatting, Links, Images, Flashes, Tables. Cut and Paste, Undo-Redo, paste from Word. XHTML and CSS support. Spell checker using ieSpell. You can make link by selecting from list of available content (or

    action) pages or files.

    You can insert image by selecting thumbnail from list of availableimages.

  • 8/7/2019 AtLeap Introduction 1.0

    20/36

    2002-2008 Blandware.

    Edit mode

    You can navigate on your site and choose fields

    to edit by double mouse click or using context

    menu.

    Multi-user work. If somebody has already editedthe field you are currently editing, you will not

    lose the data. You can merge the field values.

    If your HTTP session has been invalidated while

    you are editing, you will not lose the big data.

  • 8/7/2019 AtLeap Introduction 1.0

    21/36

    2002-2008 Blandware.

    Internationalization

    Fully UTF-8 compliant. The site content is on several languages

    simultaneously. 100% of content are stored in the database. You

    can edit any data using web interface. AtLeap allows to index all available pages on all

    languages by external search engines (Google,Yahoo, etc)

    The administrative console on: English, Russian,Chinese, German, Italian and Spanishlanguages.

  • 8/7/2019 AtLeap Introduction 1.0

    22/36

    2002-2008 Blandware.

    Full text search engine

    Embedded full text search engine based on ApacheLucene.

    Many languages: English, Spanish, Russian, German,French, Portuguese, Norwegian, Dutch, Japanese,

    Chinese, Korean, Czech, Greek etc. Taking into account inflexions and stop words.

    Indexing the following document formats: RTF, PDF,Word, Excel, PowerPoint, HTML, ODF, XHTML, XML,TXT.

    Highlighting search words in results.

    Search results taking into account page permissions.

  • 8/7/2019 AtLeap Introduction 1.0

    23/36

    2002-2008 Blandware.

    Email templates

    Sending emails generated using multilingual templates plain text

    HTML with inline image includes.

    You can specify following templates attributes for each

    language: From

    Subject

    Charset

    Body.

    Templates are preprocessed by Velocity engine, itmeans you can make variable substitutions, conditions,iteration etc.

  • 8/7/2019 AtLeap Introduction 1.0

    24/36

    2002-2008 Blandware.

    Usage dependencies

    Bidirectional links between Field Values,

    Menu items and Resources and Pages

    allow to:

    Prevent deleting linked pages and resources

    Prevent appearing broken links

    If you change the URL of some

    ContentPage (or Resource) almost alllinks can be automatically replaced.

  • 8/7/2019 AtLeap Introduction 1.0

    25/36

    2002-2008 Blandware.

    Documentation & Support

    Detailed online description of

    Administrative console functionality.

    More than 150 pages of documentation in

    Admin Guide and Developer guide.

    Wiki

    Mailing lists

    Forums

    Issue tracker

  • 8/7/2019 AtLeap Introduction 1.0

    26/36

    2002-2008 Blandware.

    Modules

    News with publication and expires dates. Testimonials with random showing. Contact us. Site map with auto generation.

    Forums with watching forum and/or topic. Questionnaires

    custom question form creation; types of questions: line, multi-line, checkbox, radiobutton, list,

    multi-list

    Statistics of visitors with properties: browsers, monitor resolution, entry pages, exit pages, browsing paths, search engines, search keywords, etc

  • 8/7/2019 AtLeap Introduction 1.0

    27/36

    2002-2008 Blandware.

    JSP tag library

    Blandware AtLeap has its own flexible JSP taglibrary (more than 60 tags) that includes tags forrepresenting list structured entities.

    Grid (table) tags provide:

    columns sorting pagination of long lists columns filtering for following types:

    string date number set

    heterogeneous data (e.g. folders and items)

  • 8/7/2019 AtLeap Introduction 1.0

    28/36

    2002-2008 Blandware.

    Data storage

    Blandware AtLeap uses Hibernate: Transparent persistence Object-oriented query language Flexible object-relational mapping Dual layer cache architecture (including query caching)

    Optimistic concurrency control (application transaction) Database transactions: rollbacks and pessimistic locking Support for wide range of DBMS (about 16)

    Blandware AtLeap uses Spring: JavaBeans-based configuration management

    Abstraction layer for transaction management (propagation)

    Blandware AtLeap uses DAO (Data Access Object)design pattern.

  • 8/7/2019 AtLeap Introduction 1.0

    29/36

    2002-2008 Blandware.

    Effective cache system

    Reduce costs of database operations. Three-tier cache system (using EHCache and

    OSCache) First and second level cache in Hibernate.

    Third level cache for content fields, menus, resources,etc.

    In-memory or on disk caching. Multiple caching algorithms LRU (Last Recently

    Using), FIFO (First In First Out) or unlimited. Flexible management system of browser

    caching: expiration and validation.

  • 8/7/2019 AtLeap Introduction 1.0

    30/36

    2002-2008 Blandware.

    Logging

    Blandware AtLeap has many log statements inits code on several levels (error, warn, info,debug).

    Blandware AtLeap uses Log4j via Commons-

    logging. The log message can be forwarded into:

    console file

    remote log4j server remote Unix Syslog daemon Windows NT event logger or even emailed.

  • 8/7/2019 AtLeap Introduction 1.0

    31/36

    2002-2008 Blandware.

    Building

    Blandware AtLeap uses Apache Ant java

    based build tool:

    as Make without Makes wrinkles

    full portability of pure Java code Blandware AtLeap uses XDoclet as code

    generation engine. It enables Attribute-Oriented

    Programming for Java.

    XDoclet can generate for you many routine Java

    sources and XML-descriptors.

  • 8/7/2019 AtLeap Introduction 1.0

    32/36

    2002-2008 Blandware.

    Backup

    Blandware AtLeap uses DBUnit to import and

    export data from database.

    You can make the backup (snapshot) of DB into

    database independent XML format. You can backup/restore data via Admin console

    at runtime.

    You can upload/download DB snapshots. AtLeap can backup automatically.

  • 8/7/2019 AtLeap Introduction 1.0

    33/36

    2002-2008 Blandware.

    AtLeap built on AtLeap

    Blandware AtLeap is developed using its

    own facilities. It means it provide many

    good design patterns and examples in its

    source code.

  • 8/7/2019 AtLeap Introduction 1.0

    34/36

    2002-2008 Blandware.

    Code generation

    Code for a new entity may be generated with a singlecommand

    Generated entity is fully-functional

    DAO/Service and Actions/JSPs for web-pages may begenerated on demand

    If web-pages generation is requested, CRUD pages andfront-end pages are generated (if needed)

    Special cases of entities are generated: localizable andpage (allowing complex field-based localizable fields)

    Such complex html fields are indexed, links areextracted

  • 8/7/2019 AtLeap Introduction 1.0

    35/36

    2002-2008 Blandware.

    AtLeap Lite on PHP

    If the Java is too heavy for you try AtLeapLite which is based on PHP.

    FCKEditor for WYSIWYG-editing.

    Dynamic pages and menus. Resources management.

    News and Catalog features.

    Fine grained access control.

  • 8/7/2019 AtLeap Introduction 1.0

    36/36

    2002 2008 Blandware

    The end

    Leap your problems with BlandwareAtLeap.

    https://atleap.dev.java.net

    https://atleap.dev.java.net/https://atleap.dev.java.net/https://atleap.dev.java.net/