2. Modular approach

advertisement
Semantic Rich Internet Application (RIA) Modeling, Deployment and Integration
Zoran Balkić, Marina Pešut, Franjo Jović
Faculty of Electrical Engineering, Kneza Trpimira 2b, Osijek
zoran.balkic@etfos.hr, marina.pesut@etfos.hr, franjo.jovic@etfos.hr
Abstract.
Major goal of the paper is to introduce semantic approach for building RIA, semantically supported from
design to exploitation time. Building semantic application would achieve exposure of application computational
artifacts as well as data structure and instances itself. Combining ontologies for content, document management,
business processes, security and dynamic semantic GUI speeds up application prototyping and integration.
Modeling at ontology level leads to uniform implementation, RIA automatic deployment and versioning
compatibility. The model based on JCR (Java Content Repository) has been adopted for the application data and
metadata storage and retrieval on top of which different semantic engines can be used.
1. Introduction
In this paper we would like to introduce the
possibility of semantic Rich Internet Application
using ontology which has the potential to facilitate
the creation of semantic relationships between
various pieces of system components to enhance
modeling, deployment and integration.
There are already several approaches regarding
rapid RIA application development, but none of
them offers semantics during modeling and
exploitation time. Furthermore, they all require
specialized
(IDE)
Integrated
Development
Platforms binding components to proprietary
frameworks. Exposure of computational artifacts is
purely reserved for specialized services that are
built for the exact purpose.
In some simple cases, where using RIA for Website
creation, it is possible to expose data in RDF form,
but none of these approaches has yet been adopted
by the real RIA applications.
Several semantic projects have been started and
they do provide some higher level of semantic
approach with SWEET using WebML, WSMO,
BPMN, etc. They are useful in modeling and
integration of applications using Web Services
discovery, orchestration and invocation, but do not
address the development issues regarding automatic
("zero" code) RIA application creation and
deployment.
It allows interrelating, combining, and thus reusing
RIA application knowledge units. Analyzing
existing RIA and their internal structure leads to the
conclusion that most of the functionality and design
issues are borrowed from the fat client world using
well established patterns for RIA GUI creation,
data and metadata storing and retrieval as well as
business process integration and management. New
approach differs from the well-established way of
thinking by combining "regular" WWW world of
static, semi dynamic and dynamic data, attractive
visual interpretation, data modeling, synchronous
and asynchronous communication rules with
semantic way of representation using ontologies.
2.1. Repository definition
The basic building block is the core of the system
for storage and retrieval of data and metadata. In
our scenario it is JCR (Java Content Repository) as
data manipulation layer, basically built on top of
the tree representation for the data structures that
corresponds with semantic way of analysis and
modeling, emphasizing the use of URIs for data
creation/retrieval.
2. Modular approach
The role of ontology in this case is to support the
effective knowledge acquisition and creation
processes in the application/web environment using
separate, but well defined and correlated knowledge
trees.
Ontology plays the role of a modeling and binding
factor that brings various knowledge items and
processes together to provide a richer and
integrated view of the knowledge domain to
application clients as well as a platform for
semantic data mining techniques.
Figure 1: Structure of JCR compliant
application
Content repository can be described as a generic
application "data store" that can be used for storing
both text and binary data (image, video file, Word
document, PDF, etc.).
A custom repository reflects one of the five
modular components (domains) of the system that
are ontology defined:
1. Website / Application tree (navigational
data) derived from persisted data;
2. Document management (for binary data);
3. Security constraints (for user / groups data);
4. Business
process
(for
storing
BP
definitions);
5. Configuration data (used by all repositories
and server for runtime configuration);
Figure 2: Application framework ontology
definitions
Resource Description Framework (RDF) and Web
Ontology Language (OWL) are used to build a
local model from which applications repositories
are initialized.
Custom repositories are essential part of the
Framework as JCR defines three different
compliance levels:
Level 1 defines a read-only repository: This
includes functionality for the reading of repository
content, export of content to XML and searching
using XPath, JCR query. This functionality should
meet the needs of presentation templates and basic
applications.
Level 2 defines a writable repository: In addition to
Level 1's functionality, it defines methods for
writing content and importing content from XML.
Applications written against Level 2 features
include any application that generates data,
information or content, both structured and
unstructured.
Advanced options: In addition to Level 1 or Level
2 features, the specification defines five additional
functional blocks: Versioning, (JTA) Transactions,
Query using SQL, Explicit Locking and Content
Observation.
In addition to being either Level 1 or Level 2
compliant, any repository can decide on
implementing one or more of these functional
blocks. A repository that implements all of these
features in addition to being Level 2 compliant can
be used as a general purpose off-the-shelf
infrastructure for content management, document
management, code management, or any other
application that persist content.
2.2. Website / Application repository
If we consider website tree navigation as simplified
Application tree we can see that semantic design
can lead to simplified data layer on top of which
dynamic navigation is extracted as core component
views.
The main distinction from the classic approach is
abstraction of the data layer that results in the
transparent component design regardless of the type
for data storage (RDBMS, file system, XML).
Core component structures are ontology defined,
hot deployable by the framework and dynamically
described using RDF for Integration purposes. Such
data and metadata can be statically exported from
the system for usage with various external semantic
tools. Among usual application characteristics we
should emphasize just a few:
 managing multilingual content;
 delivering personalized content;
 maintaining multiple corporate applications/
websites: public corporate Web sites, global
and localized sites, intranets and extranets;
 publishing distributed and disconnected
content from multiple sources using multiple
repository synchronization;
2.2.1. Generic RIA Web GUI components
Application ontology defines data structure from
which all GUI components are described. Modular
Macromedia Flash solution should be used in this
scenario. Complete component description is
necessary for successful GUI rendering and
manipulation.
Considering some other configuration parameters
needed for GUI accessibility and Look&feel we
have two options to store data, either in the
configuration repository or application data
repository itself where second choice offers
increased performance in some cases.
2.2.2. Application navigation
Primarily, application navigation represents two
different types of data rendering, one as static data
retrieval as it is defined in the repository tree and
the other as dynamic semantic linking between data
nodes in the repository. Data storage and retrieval
layer is built as dynamic repository tree that
represents model/view independence where each
node of the tree can hold any type of data, either as
direct entity instances, dynamic links or
transparently reused data preserving semantic
linking.
2.3. Document management
Analysis of the binary data requirements leads to
the conclusion that separate document management
tree can be created which holds specific types of
binary data that do not belong to the
application/website tree but are essential for
specific semantic component creation (e.g. video,
audio, extended document mapping).
The DMS provides storage for large binary data
which
should
be
separated
from
the
application/website data due to performance,
backup and future changes. Furthermore separate
DMS based components are represented as a
structural part of application components where one
unique DMS document can be semantically
annotated with alternate meaning within different
application components.
Semantic Document Management is characterized
by:
 managing the document lifecycle, from creation
to publication and to archive;
 documents indexing;
 managing documents, attributes (metadata);
 managing context links and semantic
relationships between documents' types;
 documents routing for processing tasks,
approvals, and distribution (event-driven
architecture);
 streamlining document workflows and
document publishing cycle times;
 easy, secure and smart access to enterprise
documents;
 supporting timely decision-making throughout
an organization;
 documents follow-up action;
 integration with enterprise applications;
 semantic full-text search.
2.4. Security constraints repository
Adopting security mechanism within the
framework is essential. Being semantically enabled,
application changes the usual security requirements
using implementation of so called Semantic
Firewall, that provides adaptive and dynamic
protection of the application domain. Such
protection should not be based on inflexible rules,
but on an understanding of the expected series of
interactions between parties within and outside the
protected domain. Security support is essential for
creating a smart computing environment where a
number of services operating within different
domains can be employed in union to achieve wider
goals.
By using services such as uniform access control it
is possible to restrict access to specific data nodes
in the application/website repository. It leads to
specific aggregated data with fine grained security
rules that can span up to each individual's retrieval
and manipulation.
2.5. Business process / Workflow repository
Business Process Management (BPM) is the
approach of managing the execution of supported
business operations from a manager point of view.
However, the degree of automation in BPM is still
unsatisfying. Also, BPM does not provide a
uniform representation of an organization’s process
space at a semantic level, accessible to semantic
queries or for compliance checks and for the
discovery of processes or process fragments that
can be used for process composition.
Therefore, sBPM (semantic BPM) introduces a
new way of verification if a process description
satisfies the consistency constraints defined by
business rules. In addition to providing services for
storing and retrieving data, most content
repositories provide advanced services such as
uniform access control, searching, versioning,
(JTA) transactions, observation, explicit locking,
and more. These functionalities are convenient for
business process definition storage.
Basic features:
 new task notification;
 automatic tasks and documents routing for
creation, changing, exception and approval
processing;
 management of unfulfilled tasks;
 parallel workflow processing;
 auto-delegation;
 dynamic routing;
 monitor the status of any workflow across the
enterprise;
 workflow versioning;
 collaborative decision-making and exceptionhandling in structured workflows;
 closed-loop environment for executing,
monitoring, analyzing and optimizing
workflows and business processes.
2.6. Configuration repository
Essential part of the system that insures application
infrastructure is configuration repository. Following
the same scenario as all other repositories, it offers
flexibility for the application configuration
parameters which can be static or dynamically
updated to the current state in the repository with or
without application restart.
Main ontology nodes:



server configuration;
functional modules configuration which
includes templating mechanism, component
description and structure;
application framework metadata.
3. Discussion
On the present Web, the lack of semantics prevents
computer systems from being able to interpret Web
information automatically. For a task such as Webbased RIA generation and delivery we have
introduced the overall model blocks for building
such an application.
Deployment features are built in application
ontology, thus, providing us with the flexibility and
'zero' code development. Integration techniques are
built in the system as a native part from the
modeling stage to the exploitation. Modular
architecture provides separated computational
artifacts that can be, lately, deployed as standard
generic Web services models used with other
semantic approaches to this solution.
The hypothesis that a Semantic Web based
modeling might be particularly suitable for
knowledge aggregation in a dynamic RIA
environment should be evaluated with a prototype
implementation. The stated task is not simple as it
combines quite large and complex solutions in
application assembly.
We would like to emphasize just a few benefits that
would arise from this approach:

Semantic way of abstracting during
application lifecycle;

Use of semantic Visualization tools to ease
understanding of complex systems;

"Hot deployable" GUI components that
represent classic OO (Object oriented)
models;

Dynamic Data layer modeling with backward
and
forward
compatibility
including
versioning;

Integration with other semantic initiatives
such as Semantic Desktop.
Possible drawbacks of the proposed approach:

Performance in process-intensive Web
applications;

time invested in the framework modeling,
development and deployment is longer than in
usual approach to problem using conventional
methods.
We fully agree with Charles Petrie’s words: “If
semantic technology has a future — and I’m sure
that it does — it’s in software engineering”.
4. References
1. WebML.org:. http://www.webml.org, 2006.
2. Semantic Business Processs Management Working
Group http://www.sbpm.org
3. Tim Berners-Lee. Semantic web road map, 1998.
http://www.w3.org/DesignIssues/Semantic.html.
4. Tim Berners-Lee. Web architecture at 50000 feet,
1998.
http://www.w3.org/DesignIssues/Semantic.html.
5. Tim Berners-Lee. What the semantic web can
represent, 1998.
http://www.w3.org/DesignIssues/Semantic.html.
6. Tim Berners-Lee, R. Fielding, U.C. Irvine, and L.
Masinter. Uniform resource identifiers (URI):
Generic syntax, August 1998.
http://www.ietf.org/rfc/rfc2396.txt.
7. Webratio: http://www.webratio.com, 2006.
8. Digital Enterprise Research Institute (DERI)
http://www.deri.org
9. OMG: Ontology Definition Metamodel (ODM).
http://www.omg.org/cgi-bin/doc?ad/06-05-01.pdf.
10. JCR Implementations
Communique – http://www.day.com
Apache Jackrabbit – http://jackrabbit.apache.org
11. Protégé approach and toolset
http://protege.stanford.edu/
12. OWL delivery language
http://www.w3.org/2004/OWL
13. Organization for the Advancement of Structured
Information Standards
http://www.oasis-open.org/
Download