Technical Overview

From Kb

Jump to: navigation, search

Contact Article Author | Blog of Article Author | FirstPartners.net Home | LinkedIn profile of Author

Chapter 4 describes the functionality and design of the available RP components and suggests how they can be integrated with other open frameworks to extend the frameworks functionality.

Contents

Chapter 4 – Functional and Technical Design

Chap introduction

1. Refer to previous chapter for reasons

2. Refer to next Chapter for business guide and users

Downloads

Where to get main download from

Other downloads available through RP

Drools Sample

Java.net Sample

Downloading and installing RP

  • where to find open components (source forge)
  • where to find open support
  • what to expect from open support (and see enterprise level support)
   
  • mailing lists
  • wiki
  • blog
  • enterprise level support
  • Download from sourceforge
  • Getting the latest version from CVS
  • Want to contibute – putting your changes back into CVS
  • building from source
  • building samples from source
  • Downloading binarys

Things you will need

  • Java

Things that you may need

  • Tomcat , Jboss
  • IDE such as Eclipse , Netbeans , Oracle Jdeveloper or IBM Websphere
SPREAD THE WORD

If you’re using Red-Piranha , the let us know. Even better, tell your friends. Email everybody you know. Put it on your website (feel free to link to http://red-piranha.sourceforge.net/). Include it in your latest blogs. Anything that you do to spread the word will help us (a lot). Thanks.

Either way (good or bad) , drop us a line on the users mailing list.

MAKE IT BETTER

Already , you can do a lot with Red-Piranha. We would like your help to make it do a lot more. You can help a little , or you can help a lot - it’s your choice. Some things that we would find very useful:

  • Bug reports and fixes
  • Documentation (your experience of using Red-Piranha)
  • Integrations (how you linked Red-Piranha to your systems)
  • Extensions (how you got Red-Piranha to do new things)
  • Improved Learning Abilities (how you made Red-Piranha smarter)
  • Performance and Security (how you made Red-Piranha faster , and more secure)


For more information , send an email to either the project admins or the developer mailing list.


For more information on the structure of Red-Piranha , what it does , and how it does it , a useful point to start is the Specification / Architecture Document.

Technology Setup

How to :

  • Setup Jboss IDE
  • How to use Hibernate Console
  • Oracle drivers (better to use latest)
  • Screenshots
  • Link to more information

Getting and building RP

3. Download

GETTING STARTED

First of all download Red-Piranha from here. If you’re not sure which one you want, download the ready-to-deploy (bin) file. The other files contain either the ready-to-deploy plus full source (bin_src_lib) or the source only (src).

If you have not already installed Java and Tomcat , you can get them from the Sun Java and Apache Tomcat websites. Red-Piranha should work with Java 1.3 and Tomcat 3 , although we recommend Java 1.4 or higher and Tomcat 4/5.

Unzip the file you have downloaded - there should be a file called RP.war. Copy this file into the the ’webapps’ folder of your tomcat. Within a number of seconds you should see a new folder called ’RP’ created.

Congratulations - your copy of Red-Piranha has now deployed and is ready to use

4. CVS Checkout

1. Skip this step if required

5. Setup project in Eclipse

6. Build

7. Configure

Deployment

1. Locally

2. To Server

3. As part of another application

Project Overview

Technologies we use and why

8. Technologies used and how

9. List from <<PROJECT_ROOT>>common\lib\_readme.txt

Libs used in this application

The libs used are subject to various licences (as per the common folder).

Please check the respective web sites for more details

Library How Red-Piranha uses it
antlr "ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators". Used by Jbsos rules
apache-commons  
apache-xml  
axis Apache Web Service Toolkit
dom4j  
fit libs for the fit / fitness User Acceptance Testing Suite
hibernate  
hypersonic  
j2ee  
jakarta-taglibs  
jboss  
jboss-rules The Drools rule engine and dependencies
Janino - Embedded Java compiler from JBoss
poi - Apache Excel Manipulation Library
Core - Eclipse Embeddable Java compiler
jbpm Workflow libs from JBoss (but can be deployed anywhere)
jena RDF / XML - Jena , to store all our information in RDF (aka the Semantic Web)
junit  
log4j  
lucene Apache project search and indexing engine.
oracle Drivers for accessing Oracle Databases
pdfbox For reading and manipulating PDF documents.
quartz Java Job Scheduling Framework
Spring Framework that gives us all the functionality (and more) of Enterprise Java, without the heavyweight container.
Struts Apache Web Framework
Xerces, jdom for XML manipulation

Folder Structure

   
Directory Comment
+---common  
| \---lib Libraries that are common to the core and samples
+---core Red-Piranha core. Used by All the samples.
| +---build Where Java files will be compiled.
| +---distrib Jar and War files for distribution
| +---logs Any Log files generated during the during the running of (core) Unit tests
| +---src Java Source files
| | \---net  
| | \---fp  
| | \---rp  
| | +---axis Axis (Web Service) Related Code - Server
| | | \---client Axis (Web Service) Related Code - Client
| | +---common  
| | | \---exception Exception Wrappers used by Red-Piranha
| | +---drools Code to interface with the Jboss Rules (Drools) Libraries – give business rule functionality
| | +---hibernate Code to interface with the Hibernate (Java Object to Relational Database mapping) Libraries.
| | +---hypersonic Code to interface with Hypersonic (Lightweight Java Database, in memory or file based)
| | +---jbpm Code to interface with Jboss Workflow (JBPM – Java Business Process Management) libraries
| | +---jms Code to interface with the Java Messaging Service
| | +---search Code to interface with the Apache Lucene Search and Indexing Engine, provies a lot of extra ’Adaptive Search’ capability
| | | +---back Interfaces with other Systems
| | | | +---datastore Classes that Store of Search Meta Data
| | | | | \---vocabulary Semantic information
| | | | +---extractor Classes to extract data from various souces
| | | | +---index Extensions to the Lucence Indexing Engine
| | | | +---search Extensions to the Lucene Search Engine
| | | | \---struct  
| | | +---common Common Search Classes
| | | | \---util  
| | | +---mid Classes to implement the Business logic in the application
| | | | +---category - divide searches into different categories
| | | | +---feedback - process feedback events from the user
| | | | +---global - global searches
| | | | +---intelligence Business Logic
| | | | \---loader Loads the various plugins
| | | \---plugins Plugin points for the application
| | +---spring Interfaces to the Standard Spring Framework Libraries
| \---test Junit Tests. The folder structure mirrors that of src.
+---doc Javadocs for RP-Core and the various samples.
+---red-adaptive-search Red Adaptive Search Sample
| +---distrib Where the built war / jar file will be available.
| +---lib Libs specific to this sample
| +---src Java source code specific to this sample
| | \---net  
| | \---fp  
| | \---rp  
| | \---search  
| | +---simple Simple Search (no adaptive functionality )interface.
| | \---ui  
| | +---command Command line interface
| | \---web Web Interface (adaptive Search)
| +---test Junit tests for the sample Source. Mirrors the folder structure of source.
| \---war Folders and files that are needed to create the deployment (war) file.
| +---adaptive Adaptive Search specific War files
| | +---category Creates a folder that search meta data will be stored in at runtime
| | \---plugins Plugins to extend the search engine
| \---simple Simple Search Specific war files
+---red-financial-calculator Red Financial Rules Engine Sample
| | +---dwr Dwr libs
| +---logs Logs when the sample is run via test scipts
| +---src  
| | \---net  
| | \---fp  
| | \---rp  
| | \---drools Tie the Servlet / Web application to the Servlet based rule engine
| +---test unit tests for the sample Source. Mirrors the folder structure of source.
| \---war Folders and files that are needed to create the deployment (war) file.
+---red-financial-workflow Red Work Flow sample (update)
\---snippets Useful bits of code that are not (quite) full samples.

Samples

1. Make a note of samples – to be review in depth next chapter

2. Standard Sample Structure (folder setup / build files)

3. Go through how to build samples ??? (at high level)

Core Components

10. List what they do

11. Reference

12. Update Javadoc

13. List from Javadoc
Refernence to Javadoc online

Components in Samples

Go through and list

Conclusion

Write conclusion and tie into next section (the three samples)

 

DEPLOYMENT OPTIONS

Very high level take on how to deploy RP with ....

(do quick google, then plugin)

  • Oracle Database
  • Oracle Applcaiton Server
  • PHP
  • Web Logic
  • Websphere
  • Websphere MQ
  • Sun One Applicaiton Server
  • Apache Tomcat
  • Jboss Application Server
  • Ruby / Ruby
  • .Net
  • IKVM
  • Call via Websever
  • SAP
Personal tools