OpenEngSB Manual

1.1.0.M3 "Joyful Jerry"

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
III. OpenEngSB Framework
5. Quickstart
5.1. Writing new projects using the OpenEngSB
5.2. Writing Domains for the OpenEngSB
5.3. Writing Connectors for the OpenEngSB
6. Architecture of the OpenEngSB
6.1. OpenEngSB Enterprise Service Bus (ESB)
6.2. OpenEngSB Infrastructure
6.3. OpenEngSB Components
6.4. OpenEngSB Tool Domains
6.5. Client Tools (Service Consumer)
6.6. Domain Tools (Service Provider)
6.7. Domain- and Client Tool Connectors
7. Context Management
8. Persistence in the OpenEngSB
9. Security in the OpenEngSB
9.1. Usermanagement
9.2. Access control
10. Workflows
10.1. Workflow service
10.2. Rulemanager
10.3. Processes
11. Taskbox
12. External Domains and Connectors
12.1. Proxying
12.1.1. Proxying internal Connector calls
12.2. Using JMS proxying
12.2.1. Proxying internal Connector calls
12.2.2. Calling internal Services
12.2.3. Examples
12.2.3.1. Connect With Python
12.2.3.2. Connect With CSharp
12.2.3.3. Connect With Perl
13. OpenEngSB Platform
IV. OpenEngSB Available Domains & Connectors
14. Notification Domain
14.1. Description
14.2. Functional Interface
14.3. Connectors
14.3.1. Email Connector
14.3.1.1. External Tool Configuration
15. SCM Domain
15.1. Description
15.2. Functional Interface
15.3. Connectors
15.3.1. Git Connector
15.3.1.1. External Tool Configuration
16. Issue Domain
16.1. Description
16.2. Functional Interface
16.3. Connectors
16.3.1. Trac Connector
16.3.1.1. External Tool Configuration
16.3.2. Jira Connector
16.3.2.1. External Tool Configuration
17. Report Domain
17.1. Description
17.2. Functional Interface
17.3. Connectors
17.3.1. Plaintext Report Connector
17.3.1.1. External Tool Configuration
18. Build Domain
18.1. Description
18.2. Functional Interface
18.3. Connectors
19. Test Domain
19.1. Description
19.2. Functional Interface
19.3. Connectors
20. Deploy Domain
20.1. Description
20.2. Functional Interface
20.3. Connectors
21. Auditing Domain
21.1. Description
21.2. Functional Interface
21.3. Connectors
21.3.1. Memory Auditing Connector
22. Multi-Domain Connectors
22.1. Connectors
22.1.1. Maven Connector
22.1.1.1. External Tool Configuration
V. OpenEngSB Commiters & Contributors
23. Getting Started as a Developer
23.1. Getting comfortable with the infrastructure
23.1.1. Mailing Lists
23.1.2. Jira Issue Tracker
23.1.3. Code Repository
23.1.4. Maven Repository
23.1.5. Build Server
23.2. Prerequisites
23.2.1. Installing Git
23.2.2. Installing Maven
23.3. Starting OpenEngSB
23.4. Using Eclipse
23.5. Using Other IDEs than Eclipse
23.6. Git Documentation
23.6.1. Usage
23.6.2. Github
23.6.3. Starting up and configure
23.6.4. Contributor Workflow
23.6.5. Commiter Workflow
23.6.6. Additional Rules
23.7. Useful Tools
23.7.1. openengsb-maven-plugin
23.7.1.1. Goals
24. How To Create an Internal Connector
24.1. Prerequisites
24.2. Creating a new connector project
24.2.1. Using the Maven Archetype
24.2.2. Using the openengsb-maven-plugin:genConnector
24.3. Project Structure
24.4. Integrating the Connector into the OpenEngSB environment
25. How To Create an Internal Domain
25.1. Prerequisites
25.2. Creating a new domain project
25.2.1. Using the Maven Archetype
25.2.2. Using openengsb-maven-plugin:genDomain
25.2.3. Project structure
25.3. Components
25.4. Connectors
26. Prepare and use Non-OSGi Artifacts
26.1. Create Wrapped Artifacts
26.2. Tips and Tricks
27. Release and Release Process
27.1. Releases and the OpenEngSB
27.2. Git Branches
27.2.1. New Feature Workflow
27.2.2. Milestone Releases
27.2.3. Release Candidates
27.2.4. Final and Support Releases
27.3. Configure Maven
27.4. Adapt Jira
27.5. Perform the release
27.6. Spread the News
27.7. Prepare Changelog
27.7.1. Bug Fixes
27.7.2. New Projects
27.7.3. Removed Projects
27.7.4. Upgraded and New External References
27.7.5. Remvoed External References
27.7.6. New Features and Changed Behaviour
27.7.7. Depricated or Removed Features
28. Admin
28.1. Infrastructure
28.1.1. OpenEngSB Infrastructure Server
28.1.2. OpenEngSB Build
28.1.3. OpenEngSB Issuetracker
28.1.4. OpenEngSB git
28.1.5. OpenEngSB Maven
28.1.5.1. internal
28.1.5.2. external
28.1.6. OpenEngSB Mailinglist
28.2. Logo Locations and Upgrade
28.2.1. External Infrastructure
28.2.2. Internal Management Application
28.2.3. Documentation
29. Project Roles
29.1. Users
29.2. Contributors
29.3. Commiters
29.4. Project Comitee Members
30. Java Coding Style
30.1. Sun Coding Guidelines
30.1.1. Line length
30.1.2. Wrapping
30.1.3. Number of declarations per line
30.1.4. Declaration placement
30.1.5. Blank lines
30.2. General
30.2.1. File format
30.2.2. Header
30.2.3. Duplication
30.2.4. Use guards
30.2.5. Keep methods short
30.2.6. Use enums
30.2.7. Avoid use of static members
30.2.8. Use fully qualified imports
30.2.9. Never declare implementation types
30.2.10. SerialVersionUID
30.2.11. Restrict scope of suppressed warnings
30.2.12. Use String.format()
30.2.13. Array declaration style
30.2.14. Comments
30.3. Naming
30.3.1. Interfaces
30.3.2. Don't abbreviate
30.4. No clutter
30.5. Exception Handling
30.6. Tests
30.6.1. General
30.6.2. Naming Scheme
30.7. XML Formatting
30.7.1. File Format
30.7.2. Eclipse Settings
30.7.3. Recommended Readings
31. Writing Code
31.1. Maven POM files in the OpenEngSB
32. Recommended Eclipse Plug-ins for Developers
32.1. Properties Editor
32.2. Spring IDE
32.3. Eclipse CS
32.4. Drools
33. Writing Documentation
33.1. General Documentation Guidelines
33.2. Document a domain or connector
33.2.1. Domain
33.2.2. Connector
33.3. Using Docbook
33.3.1. Tags
33.3.1.1. Including an image
33.3.1.2. Using a table
33.3.1.3. Generating the documentation