AtLeap Introduction 1.0
Transcript of AtLeap Introduction 1.0
-
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/