| Table of Contents [Hide] |
Overview
This document introduces the project source code repositories and how to get started working with SEASR technologies, especially Meandre. You will learn how to set-up Meandre, IDE, and load the basic building blocks of flows – components.
Meandre is currently using Subversion for version control. This also includes a web-based svn repository browser. You can find the browser at http://dev-tools.seasr.org/fisheye/browse. Meandre has been organized into several different repositories as described in this document.
SVN Modules for Meandre
The Meandre SVN repositories contains the infrastructure, supporting tools, and user interface tools.
- Meandre-Infrastructure
- This is the infrastructure component that creates a server to manage components and flows. It provides the web service execution engine, repository for components and flows. It provides zigzag, a scripting language for building and executing flows. The infrastructure also provides the Meandre Administrative Interface which is a web application that handles the administration for user management and job management for the Meandre WebServices-based engine. This application provides an interface to allow a user to add components and create a code template for new components. Currently it displays lists of components and flows, and allows for flow execution and the management of repositories leveraged by the Meandre WebServices-based engine.
- Meandre-Tools
- This is the source repository for the developer tools used to assist developers in the development Meandre components.
- Meandre-Workbench
- Is a web application that provides the user interface to construct flows graphically by connecting icons representing software components. It is written in Google Web Toolkit. The Meandre-Workbench must also connect to a running Meandre infrastructure server. More information on Meandre Workbench is available here.
SVN Modules for Meandre Components
Component repositories are organized by their functionality and usage.
- Foundry
- Component repository Foundry contains components for for natural language processing and text analytics including loading documents, natural language processing, transformations, analysis, and information visualization metaphors.
- Data Mining
- Component repository Data Mining contains components for data management -input and output functionality, data transformations, analysis- statistical and machine learning approaches, and information visualization metaphors.
- Fedora
- Component repository Fedora contains components for connecting to a Fedora repository.
Development Tools
IDEs
Following is a list of the supported IDEs:
- Eclipse – download
- The following plugins can be installed:
- NetBeans – download
- JBuilder – free or commercial
- IntelliJ IDEA
Other IDEs may be added.
Code repository and check-out
Each of the projects mentioned above has a separate code repository, as follows:
Note: Please read the set-up instructions for your IDE of choice before checking out the code.
Note: You can click on the project name below to access the WebSVN repository through your browser.
Note: Standard SVN approaches are used; tags indicate the version of the code that has been tagged, while trunk contains the latest semi-stable version, and branches are used for experimental development.
| Project | SVN Repository Location(read-only) |
|---|---|
| Meandre-Infrastructure | svn://dev-svn.seasr.org/Meandre/Meandre-Infrastructure |
| Meandre-Workbench | svn://dev-svn.seasr.org/Meandre/Meandre-Workbench |
| Component Foundry | svn://dev-svn.seasr.org/Components/Foundry |
Building and running
After the code has been checked out from SVN, it can be built and run using ant.
The following build targets exist:
Meandre-Infrastructure:
Default target: compile
| Main targets | Description |
|---|---|
| app-release | creates the distribution to run as an application |
| clean | removes build artifacts |
| clean-store | deletes the MeandreStore directory, which contains the database of all installed (‘uploaded’) components and flows |
| compile | compiles source code |
| dist | creates jar distribution |
| init | creates required folders |
| javadoc | generates the documentation (ignore all warnings) |
| lib-release | creates the distribution for maven/ivy |
| run | runs the default Meandre-Infrastructure server |
| run-silent | runs the Meandre-Infrastructure server with 2GB of memory as a separate process |
| run-tests | runs tests |
| test-reports | generates test reports |
Meandre-Workbench:
Default target: compile
| Main targets | Description |
|---|---|
| clean | removes build artifacts |
| compile | compiles source code |
| gwt_compile | compiles the GWT classes |
| init | creates required folders |
| javadoc | generates the documentation (ignore all warnings) |
| run | runs the Meandre-Workbench Jetty engine |
| run-silent | runs the Meandre-Workbench Jetty engine as a separate process |
Components:
Default target: dist
| Main targets | Description |
|---|---|
| clean | removes build artifacts |
| compile | compiles components |
| compile-core | compiles the core dependencies of all components |
| compile-package-infos | compiles package-info.java files in src-gen/ |
| compile-tests | compiles the unit tests |
| create-all-descriptors | creates descriptors for all components under src/seasr-project |
| create-all-package-info | finds dependencies for all SEASR components and creates the corresponding package-info files |
| create-descriptor | creates descriptor for component. Example: ant create-descriptor -DcomponentClass=org.seasr.meandre.components.io.PushString |
| create-package-info | finds dependencies for the specified component and creates its corresponding package-info file |
| create-upload-script | creates a scripts/upload.sh shell script that uploads all components |
| dist | creates components jar file |
| dist-core | creates the core dependencies jar file |
| init | creates required folders |
| run-tests | runs the unit tests |
| update-wiki | updates the wiki documentation for components. Example: ant update-wiki -Dusername=wiki_username -Dpassword=wiki_password |
| upload-components | runs seasr upload.sh script to upload the components to a Meandre-Infrastructure server running on localhost:1714 |
| upload-from-scratch | runs everything necessary after a ‘clean’ |
Running the application
All the projects in the repository Application can be run via the provided ant build script by invoking “ant run” at the command line or executing the “run” target from inside your IDE.
- Launch Meandre-Infrastructure by performing “ant run”. This will start the Meandre engine with connectivity on port 1714 (by default). The Meandre Administrative Interface is accessible at “http://localhost:1714/public/services/ping.html”.
- Launch Meandre-Workbench by performing “ant run”. This will start the Meandre Workbench with connectivity on port 1712. The workbench is accessible at “http://localhost:1712″.
Once the Meandre-Infrastructure, and/or the Meandre-Workbench have been started, you can access the web interface using the information below:
After logging in using the web interface for the first time, you will notice that no components or flows are available for use. To get access to some components, you must add a component repository location, or upload an existing component as follows.
Component and Flow Repositories
The Meandre-Infrastructure can be pointed at repositories in remote locations.
Adding a repository location
In the Meandre Administrative Interface: From the section titled Locations on the left, enter the URL and description of the repository you want to add, then click “Add”.
Uploading components
We have several ways to upload components. These include the Meandre Administrative Interface, Meandre Eclipse Plugin, and ant scripts. The Eclipse plugin uploading is described in the Eclipse-plug-in section.
In Meandre Administrative Interface: From the section titled Repository on the left, click “Add”. In the form that shows up, click Browse and select the RDF descriptor file for your component. Next, browse and select the resource context files (Jar files) that your component uses. Click embed or overwrite if necessary. Now click Upload. You can now look for your component from the section titled Repository and clicking on “Components” to see all the components available.
Using the Ant Script: Execute the “upload-from-scratch” target from the build.xml file in the component repository. This will compile and upload all components in the repository to a Meandre Infrastructure instance running on localhost:1714.
Acknowledgements
Atlassian
We want to thank Atlassian for providing us with an open source license to their product suite.
Atlassian provides best-in-breed solutions for bug tracking, project tracking, subversion hosting and wiki software
YourKit
YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications.
Take a look at YourKit’s leading software products: YourKit Java Profiler and YourKit .NET Profiler.


