+ All Categories
Home > Documents > © 2002-2008 Blandware. Blandware AtLeap Introduction Andrey Grebnev...

© 2002-2008 Blandware. Blandware AtLeap Introduction Andrey Grebnev...

Date post: 26-Dec-2015
Category:
Upload: stephen-merritt
View: 215 times
Download: 1 times
Share this document with a friend
Popular Tags:
36
© 2002-2008 Blandware. Blandware AtLeap Introduction Andrey Grebnev andrey.grebnev(at)blandwa re.com
Transcript

© 2002-2008 Blandware.

Blandware AtLeapIntroduction

Andrey Grebnev

andrey.grebnev(at)blandware.com

© 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

© 2002-2008 Blandware.

The basis is AppFuse

• Blandware AtLeap is initially AppFuse based project http://appfuse.dev.java.net/

• AppFuse is being developed since 2002 year

• AppFuse is being developed by Matt Raible, the author of ”Spring in Live” and member of J2EE1.5 Expert Group

© 2002-2008 Blandware.

Destination

Internet sites• Blandware AtLeap

does not restrict the ideas of your Web graphical 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.

© 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, Bea WebLogic 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.

© 2002-2008 Blandware.

Awards and testimonials

• Second place in Java contest of Sun Microsystems corporation www.javakonkurs.ru

• Second place in software developers contest of Intel corporation www.intelcup.ru

• Hong Zhang said about AtLeap's deployment process: "The whole process went pretty smooth... The instructions that Andrey provided are very straightforward and easy to follow. The actual deployment was like a breeze.“

Hong Zhang,Member of Technical Staff,

Sun Microsystems.

© 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 (Java Community Process) and other.

Servlet Container

JDBC driver

Web Server

RDBMS

Hibernate +EhCache

Spring

Struts+Tiles, FCKEditor (or TinyMCE)

AcegiDAO

OSCacheMVC

Log4j

Ant, X

Doclet, D

ocBook,C

heckStyle, P

MD

POI, PdfBox

JUn

it, DB

Unit, H

tmlU

nit, JMo

ck

Lucene

© 2002-2008 Blandware.

Security

• About 130 hard-coded roles.• Facility to add dynamical roles.• 3 pre-created groups.• Ternary relationship between users, roles

and groups.• Authentication using Acegi.• “Remember me” function.• SSL support.

© 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 is Action. The action is Java method that encapsulates application business logic.

© 2002-2008 Blandware.

Struts Tiles

• Tiles is templating library that allows you to construct views by combining various “tiles” specified 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 tile displaying.

Tile - body

Tile - header

Tile - footer

Tile – right

column

Tile

Tile

Tile

© 2002-2008 Blandware.

Content Fields• The content field is a editable

area of the page.• Any tile can have one or

several content fields with text for 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 to

repeat block that is too complex to edit via editor.

• The fields location is defined in JSP by special tags.

Field - header

Field - footer

body[i]

body[0]

body[1]

body[2]

© 2002-2008 Blandware.

Sequences

• Sequence contains a list of links to Pages or Resources.

• Any tile can have one or several sequences.

• 2 types of sequences:– Sequence of pages– Sequence of resources

• The sequence has unique identifier.

• The sequences are iterated in JSP using special tags.

pages[i]

item[0]

item[1]

item[2]

© 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.

© 2002-2008 Blandware.

Content Page

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

• The content page is entirely virtual page stored in DB.

• You can specify content page URL (search engine 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.

© 2002-2008 Blandware.

Action Page

• The action page abstraction allows you to edit content even on pages that are dynamically generated 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 new ones.

• You can specify roles in XML file to restrict access to the action page.

© 2002-2008 Blandware.

Class model of AtLeap ideology

Localizable

ContentPageActionPage

Page-uri

-roles

Layout-tile definition

Value-language

-value

Field-identifier

© 2002-2008 Blandware.

Resources

• You can upload the resources (files, documents and images) from local computer 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.

© 2002-2008 Blandware.

Menus

• Blandware AtLeap has a flexible hierarchical menu system.

• You can specify menu items for some layout and then override 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 available

content (or action) pages or files.• You can insert menu item icon by selecting thumbnail

from list of available images.• You can dynamically specify roles to restrict access to

each menu item.

© 2002-2008 Blandware.

WYSIWYG HTML editor• Blandware AtLeap uses two editors FCKEditor and TinyMCE to edit

HTML content field values. You can dynamically switch to more preferred 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 available

images.

© 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 edited the 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.

© 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 Spanish languages.

© 2002-2008 Blandware.

Full text search engine

• Embedded full text search engine based on Apache Lucene.

• 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.

© 2002-2008 Blandware.

Email templates

• Sending emails generated using multilingual templates– plain text – HTML with inline image includes.

• You can specify following template’s attributes for each language:– From– Subject– Charset– Body.

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

© 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 all links can be automatically replaced.

© 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

© 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…

© 2002-2008 Blandware.

JSP tag library

• Blandware AtLeap has its own flexible JSP tag library (more than 60 tags) that includes tags for representing 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)

© 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.

© 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.

© 2002-2008 Blandware.

Logging

• Blandware AtLeap has many log statements in its 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.

© 2002-2008 Blandware.

Building

• Blandware AtLeap uses Apache Ant – java based build tool:– as Make without Make’s 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.

© 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.

© 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.

© 2002-2008 Blandware.

Code generation

• Code for a new entity may be generated with a single command

• Generated entity is fully-functional

• DAO/Service and Actions/JSPs for web-pages may be generated on demand

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

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

• Such complex html fields are indexed, links are extracted

© 2002-2008 Blandware.

AtLeap Lite on PHP

• If the Java is too heavy for you try AtLeap Lite which is based on PHP.

• FCKEditor for WYSIWYG-editing.• Dynamic pages and menus.• Resources management.• News and Catalog features.• Fine grained access control.

© 2002-2008 Blandware.

The end

Leap your problems with Blandware AtLeap.

https://atleap.dev.java.net


Recommended