OpenEngSB Manual

1.2.0.M4 "Obedient Overmind"

Open Engineering Service Bus Development Team and Contributors


I. Introduction
1. How to read the Manual
2. What is the Open Engineering Service Bus
3. When to use the OpenEngSB
3.1. The OpenEngSB as Base Environment
3.2. Reusing integration Components and Workflows
3.3. Management Environment
3.4. Simple Development and Distribution Management
3.5. Simple Plug-Ins and Extensions
II. Tutorials
4. HowTo - Create a connector for an already existing domain for the OpenEngSB
4.1. Goal
4.2. Time to Complete
4.3. Prerequisites
4.4. Step 1 - Use the archetype
4.5. Step 2 - Add the dependencies
4.6. Step 3 - Configure the connector
4.7. Step 4 - Implement the connector
4.8. Step 5 - Spring Setup and Internationalization
4.9. Step 6 - Start the OpenEngSB with your Connector
4.10. Step 7 - Test the new connector
5. HowTo - Interact with the OPENENGSB Remotely
5.1. Using JMS proxying
5.1.1. Proxying internal Connector calls
5.1.1.1. HowTo call an external service via proxies
5.1.2. Calling internal Services
5.1.3. Examples
5.1.3.1. Connect With Python
5.1.3.2. Connect With CSharp
5.1.3.3. Connect With Perl
III. OpenEngSB Framework
6. Quickstart
6.1. Writing new projects using the OpenEngSB
6.2. Writing Domains for the OpenEngSB
6.3. Writing Connectors for the OpenEngSB
7. Architecture of the OpenEngSB
7.1. OpenEngSB Enterprise Service Bus (ESB)
7.2. OpenEngSB Infrastructure
7.3. OpenEngSB Components
7.4. OpenEngSB Tool Domains
7.5. Client Tools (Service Consumer)
7.6. Domain Tools (Service Provider)
7.7. Domain- and Client Tool Connectors
8. Context Management
8.1. Wiring services
9. Persistence in the OpenEngSB
10. Security in the OpenEngSB
10.1. Usermanagement
10.2. Access control
10.3. Authentication
11. Workflows
11.1. Workflow service
11.2. Rulemanager
11.3. Processes
12. Taskbox
12.1. Core Functionality
12.2. UI Functionality
13. External Domains and Connectors
13.1. Proxying
13.1.1. Proxying internal Connector calls
14. Deployer services
14.1. Connector configuration
14.1.1. Root services
15. OpenEngSB Platform
IV. OpenEngSB Available Domains & Connectors
16. Notification Domain
16.1. Description
16.2. Functional Interface
16.3. Connectors
16.3.1. Email Connector
16.3.1.1. External Tool Configuration
17. SCM Domain
17.1. Description
17.2. Functional Interface
17.3. Connectors
17.3.1. Git Connector
17.3.1.1. External Tool Configuration
18. Issue Domain
18.1. Description
18.2. Functional Interface
18.3. Connectors
18.3.1. Trac Connector
18.3.1.1. External Tool Configuration
18.3.2. Jira Connector
18.3.2.1. External Tool Configuration
19. Report Domain
19.1. Description
19.2. Functional Interface
19.3. Connectors
19.3.1. Plaintext Report Connector
19.3.1.1. External Tool Configuration
20. Build Domain
20.1. Description
20.2. Functional Interface
20.3. Connectors
21. Test Domain
21.1. Description
21.2. Functional Interface
21.3. Connectors
22. Deploy Domain
22.1. Description
22.2. Functional Interface
22.3. Connectors
23. Auditing Domain
23.1. Description
23.2. Functional Interface
23.3. Connectors
23.3.1. Memory Auditing Connector
24. Appointment Domain
24.1. Description
24.2. Functional Interface
25. Contact Domain
25.1. Description
25.2. Functional Interface
26. Multi-Domain Connectors
26.1. Connectors
26.1.1. Maven Connector
26.1.1.1. External Tool Configuration
V. OpenEngSB Commiters & Contributors
27. Getting Started as a Developer
27.1. Getting comfortable with the infrastructure
27.1.1. Mailing Lists
27.1.2. Jira Issue Tracker
27.1.3. Code Repository
27.1.4. Maven Repository
27.1.5. Build Server
27.2. Prerequisites
27.2.1. Installing Git
27.2.2. Installing Maven
27.3. Starting OpenEngSB
27.4. Using Eclipse
27.5. Using Other IDEs than Eclipse
27.6. Git Documentation
27.6.1. Usage
27.6.2. Github
27.6.3. Starting up and configure
27.6.4. Contributor Workflow
27.6.5. Commiter Workflow
27.6.6. Additional Rules
27.7. Useful Tools
27.7.1. openengsb-maven-plugin
27.7.1.1. Configuring the openengsb-maven-plugin for your project
27.7.1.2. Purpose of the openengsb-maven-plugin
27.7.1.3. Changing the default configuration of the mojos
27.7.1.4. Available Goals
28. How To Create an Internal Connector
28.1. Prerequisites
28.2. Creating a new connector project
28.2.1. Using the Maven Archetype
28.2.2. Using mvn openengsb:genConnector
28.3. Project Structure
28.4. Integrating the Connector into the OpenEngSB environment
29. How To Create an Internal Domain
29.1. Prerequisites
29.2. Creating a new domain project
29.2.1. Using the Maven Archetype
29.2.2. Using mvn openengsb:genDomain
29.2.3. Project structure
29.3. Components
29.4. Connectors
30. Prepare and use Non-OSGi Artifacts
30.1. Create Wrapped Artifacts
30.2. Tips and Tricks
31. Release and Release Process
31.1. Releases and the OpenEngSB
31.2. Git Branches
31.2.1. New Feature Workflow
31.2.2. Milestone Releases
31.2.3. Release Candidates
31.2.4. Final and Support Releases
31.3. Configure Maven
31.4. Adapt Jira
31.5. Perform the release
31.6. Spread the News
31.7. Prepare Changelog
31.7.1. General Description
31.7.2. Highlights
31.7.3. Details
32. Admin
32.1. Infrastructure
32.1.1. OpenEngSB Infrastructure Server
32.1.2. OpenEngSB Build
32.1.3. OpenEngSB Issuetracker
32.1.4. OpenEngSB git
32.1.5. OpenEngSB Maven
32.1.5.1. internal
32.1.5.2. external
32.1.6. OpenEngSB Mailinglist
32.2. Logo Locations and Upgrade
32.2.1. External Infrastructure
32.2.2. Internal Management Application
32.2.3. Documentation
33. Project Roles
33.1. Users
33.2. Contributors
33.3. Commiters
33.4. Project Comitee Members
34. Java Coding Style
34.1. Sun Coding Guidelines
34.1.1. Line length
34.1.2. Wrapping
34.1.3. Number of declarations per line
34.1.4. Declaration placement
34.1.5. Blank lines
34.2. General
34.2.1. File format
34.2.2. Header
34.2.3. Duplication
34.2.4. Use guards
34.2.5. Keep methods short
34.2.6. Use enums
34.2.7. Avoid use of static members
34.2.8. Use fully qualified imports
34.2.9. Never declare implementation types
34.2.10. SerialVersionUID
34.2.11. Restrict scope of suppressed warnings
34.2.12. Use String.format()
34.2.13. Array declaration style
34.2.14. Comments
34.3. Naming
34.3.1. Interfaces
34.3.2. Don't abbreviate
34.4. No clutter
34.5. Exception Handling
34.6. Tests
34.6.1. General
34.6.2. Naming Scheme
34.7. XML Formatting
34.7.1. File Format
34.7.2. Eclipse Settings
34.7.3. Recommended Readings
35. Writing Code
35.1. Maven POM files in the OpenEngSB
35.2. Using the same dependencies as the OPENENGSB
35.3. Making UI Tests Localizable
35.4. How to write tests
35.4.1.
35.4.2. Technologies for writing test, and how to use them
36. Recommended Eclipse Plug-ins for Developers
36.1. Properties Editor
36.2. Spring IDE
36.3. Eclipse CS
36.4. Drools
37. Writing Documentation
37.1. General Documentation Guidelines
37.2. Document a domain or connector
37.2.1. Domain
37.2.2. Connector
37.3. Using Docbook
37.3.1. Tags
37.3.1.1. Including an image
37.3.1.2. Using a table
37.3.1.3. Generating the documentation