I made a change in the blogger configuration to ease the later work when blogging. It is possible that older entries are not correctly formatted.

Showing posts with label intro. Show all posts
Showing posts with label intro. Show all posts

Wednesday, 5 May 2010

IBM FileNet P8 Platform

Disclaimer: This entry is not complete and will be probably be finished later, since some information needs to be checked. The goal is to have a short summary of the documentation I found.

The IBM FileNet P8 Platform is a platform providing enterprise content management. Documentation can be found on the IBM website at this place. A FileNet P8 System Overview can be found there. The source of most of the information for this entry comes from this document.

  • content management
  • business objects
  • Lifecycles
  • Properties
  • Events and subscription
  • classification
  • entry templates
  • publishing
  • content storage
  • content caching
  • import and export
  • search
  • versioning
  • process management
  • extern application integration
  • form management
  • record Management (Email management)
  • system management
  • application development and deployment
  • scalability
  • high availability
  • disaster recovery
  • accessability
  • security
  • internationalization (i18n)

FileNet uses XML and Java2 Platform, Enterprise Edition (J2EE), as well as mainly the following protocols: Lightweight Direct Access Protocol (LDAP), Hypertext Transport Protocol (HTTP), and SOAP.

Content Management

Business Objects

Lifecycles

Properties

Events and subscription

The platform provides an event framework so as to push to subscribers the given event of the system.

Classification

The FileNet platform provides the infrastructure for different kind of classification of the resources. This classification can either be performed manually but also automatically using specific tools.

Entry Templates

Entry templates provides means of creating objects in a more uniform manner.

Publishing

The platform also provides means of publishing the content stored.

Content Storage

Content Caching

Import and Export

Search

Versioning

The FileNet application provides the tools to perform a versioning of the resource stored in the system.

Process Management

Extern Application Integration

The platform can be integrated in other existing applications such as: Microsoft Office and SAP R/3 and Sharepoint.

Form Management

The documentation of FileNet says that the application provides powerful form creation and management tools.

Record Management (Email management)

System management

Application Development and Deployment

Scalability

One interesting aspect of the FileNet P8 Platform is that it seems to be designed considering scalability issues and techniques. It provides for diverse components horizontal scalability solutions (like computer farms) or vertically (i.e multiple instances of an application can be run in parallel.

Accessability

Accessability is an issuse for enterprise software in order to make sure that every one can use the software. The software is tested according to the Section 508 Compliance based on Electronic and Information Technology Accessibility Standards, published by the U.S. Access Board on December 21, 2000, at 36 CFR Part 1194.. This includes for example key traversal and access.

Architecture

FileNet Architecture Overview The preceding picture shows the architecture of FileNet, it is taken from the document cited earlier. In addition to this overall picture it should be noted that FileNet provides both a Java and .Net API, although the java API seems to be the one providing the most functionality.

Content Engine

The content engine is the component taking care of the management of the content. It provides all the necessary functionalities, for example secure access, caching, indexing (also full text), search, classification, versioning, life cycles....

The access is either provides through a Java or .Net API or using the Content Engine Web Services. A particular mode when using Java is to use the EJB Means of transport.

Process Engine

The process engine provides a number of components.

  • Process Analyzer (which is a OLAP component)
  • Process Simulator to test scenarios
  • Business Process Framework

Application Engine

Workspace XT - The Graphical Interface

Rendition Engine

Rendition Engine can be used to convert documents to various formats, for example the usual Office formats (Word, Excel, PowerPoint) as well as to PDF or HTML. Multiple Rendition Engines can also be used in order to scale the document conversion process.

Administrative Components

The platform provides a number of adminstrative components: the dashboard, the system usage reporter, the system monitor

Tuesday, 4 May 2010

UIMA - Unstructured Information Management Architecture

Disclaimer: This entry is not complete and will be finished later, since some information needs to be checked.

The UIMA (Unstructured Information Management Architecture) is a project which was first created by IBM, but which is now one of the top-level project of the Apache Software Foundation. It provides an architecture to annotate a unstructured information with the help of a set of annotators and analysis engines which can be combined and aggregated.

In the following sections, I will introduce the main elements which allow the understanding of the UIMA infrastructure.

CAS - Common Analysis Structure

The main structure in the UIMA architecture is the CAS (aka. Common Analysis Structure). Note that I had some difficulties finding what it means, but I finally found it in the glossary, which should be read at first because I even in the overview there was no explanation as to what a CAS is.

A CAS is the structure manipulated by the annotators and annotation engines.

Analysis Engines

The UIMA architecture provides the idea of analysis engines which take a CAS View (i.e some annotation structure representing a view of the data) and return a .

Annotators

The glossary of the UIMA documentation defines annotators as:

A software component that implements the UIMA annotator interface. Annotators are implemented to produce and record annotations over regions of an artifact (e.g., text document, audio, and video).
They represent the starting point for the analysis engine.

Indexing

One of the main interest of the UIMA architecture is that it provides a standard interface to define the indexing of the CAS and their views. However, I still need to clear things up here.

PEAR

A PEAR is an archive file packaging the code, descriptor files and other resources required to install and run a UIMA component in another environments. The UIMA SDK provides tools to create such PEAR. Note that the PEAR acronym is not defined in the documentation either.

Monday, 3 May 2010

OSGi

OSGi (used to be "Open Services Gateway initiative") is a standard to define a software platform infrastructure for java. The goal is to have the infrastructure to deploy modularised applications and services with a comnponent model (called Bundles or services). The components can be managed using a service registry. They can be loaded, started and stopped.

The OSGi standard uses metadata found in the Jar file Manifests, in order to load the bundles. In particular, the manifests specifies the classes exported and imported by the bundle. In that way, it is possible to use, or hide conflicting classes in a bundle and not export it. Other bundles may use the classes exported by other bundles.

Bundles

Bundles are jar files with a corresponding entries in the manifest. The following example shows the manifest of a bundle requiring the package org.eclipse.ui.

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: My Yellow World Example
Bundle-SymbolicName: de.desprofundis.example; singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: de.desprofundis.example.Activator
Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

Note the "Require-Bundle", entry which lists the packages which are required by this bundle. The OSGi container is responsible for checking whether the dependencies are satisfied. Another important information is also here the Bundle-Activator, which is the class in charge of the activation of the bundle (as well as its shutting down when needed.

Services

In addition to the dependency management and version hiding, the OSGi framework provides also a registry for services. Moreover, services can be injected in to some other bundle. A tutorial by Lars Vogel presents their use succintly.

Saturday, 19 September 2009

Quote the Maven: Evermore!

Well sorry about that my dear Poe! I really like Maven a lot. It is a really good programming management tool. It is a step up from Ant, yet it simplifies a lot of aspects. And moreover it has a very useful set of plugins and software repositories. The main properties of Maven:
  • Workflow and tasks based
  • modular
  • dependency management
  • extensible
  • platform adaptable

Workflow and tasks based

Maven is based on a controlled workflow of tasks performed, sequentially. You can call some particular task. Maven will make sure the tasks required before this task will be performed if needed. For example, if you wish to package a certain jar. Maven will take care of the compilation and the signing.

Modular

Maven is capable of working with different modules. The modules required by a given module will be then built if needed.

dependency management

At the heart of maven, there is a dependency management framework: Ivy. This allows to ensure that the packages used and constructed have a compatible version with the code needed.

extensible

Maven is based on a set of multiple plugins, which can be easily extended or retrieved from a repository on the Internet. Each of this plugin performs a specific task. The tasks to be performed are configured in the pom.xml, which is the configuration file for a module in maven.

platform adaptable

Using maven, you can build different binaries or packages depending on the target platform. You need to describe a given profile. This introduction did not present any example or code. This will be done in the next step.