OpenEngSB Manual

1.1.0.M1 "Harmonic Hulk"

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. OpenEngSB Framework
4. Quickstart
4.1. Writing new projects using the OpenEngSB
4.2. Writing Domains for the OpenEngSB
4.3. Writing Connectors for the OpenEngSB
5. Architecture of the OpenEngSB
5.1. OpenEngSB Enterprise Service Bus (ESB)
5.2. OpenEngSB Infrastructure
5.3. OpenEngSB Components
5.4. OpenEngSB Tool Domains
5.5. Client Tools (Service Consumer)
5.6. Domain Tools (Service Provider)
5.7. Domain- and Client Tool Connectors
6. Context Management
7. Persistence in the OpenEngSB
8. Workflows
8.1. Workflow service
8.2. Rulemanager
8.3. Processes
9. Taskbox
10. External Domains and Connectors
10.1. Proxying
10.1.1. Proxying internal Connector calls
10.2. Using JMS proxying
10.2.1. Proxying internal Connector calls
10.2.2. Event handling via JMS
10.2.3. Examples
10.2.3.1. Connect With Python
10.2.3.2. Connect With CSharp
10.2.3.3. Connect With Perl
11. OpenEngSB Platform
III. OpenEngSB Available Domains & Connectors
12. Notification Domain
12.1. Description
12.2. Functional Interface
12.3. Connectors
12.3.1. Email Connector
12.3.1.1. External Tool Configuration
13. SCM Domain
13.1. Description
13.2. Functional Interface
13.3. Connectors
13.3.1. Git Connector
13.3.1.1. External Tool Configuration
14. Issue Domain
14.1. Description
14.2. Functional Interface
14.3. Connectors
14.3.1. Trac Connector
14.3.1.1. External Tool Configuration
15. Report Domain
15.1. Description
15.2. Functional Interface
15.3. Connectors
15.3.1. Plaintext Report Connector
15.3.1.1. External Tool Configuration
16. Build Domain
16.1. Description
16.2. Functional Interface
16.3. Connectors
17. Test Domain
17.1. Description
17.2. Functional Interface
17.3. Connectors
18. Deploy Domain
18.1. Description
18.2. Functional Interface
18.3. Connectors
19. Multi-Domain Connectors
19.1. Connectors
19.1.1. Maven Connector
19.1.1.1. External Tool Configuration
IV. OpenEngSB Commiters & Contributors
20. Getting Started as a Developer
20.1. Getting comfortable with the infrastructure
20.1.1. Mailing Lists
20.1.2. Jira Issue Tracker
20.1.3. Code Repository
20.1.4. Maven Repository
20.1.5. Build Server
20.2. Prerequisites
20.2.1. Installing Git
20.2.2. Installing Maven
20.3. Starting OpenEngSB
20.4. Using Eclipse
20.5. Using Other IDEs than Eclipse
20.6. Git Documentation
20.6.1. Usage
20.6.2. Github
20.6.3. Starting up and configure
20.6.4. Contributor Workflow
20.6.5. Commiter Workflow
20.6.6. Additional Rules
20.7. Useful Tools
20.7.1. maven-openengsb-plugin
20.7.1.1. Goals
21. How To Create an Internal Connector
21.1. Prerequisites
21.2. Creating a new connector project
21.2.1. Using the Maven Archetype
21.2.2. Using the gen-connector.sh shell script
21.3. Project Structure
21.4. Integrating the Connector into the OpenEngSB environment
22. How To Create an Internal Domain
22.1. Prerequisites
22.2. Creating a new domain project
22.2.1. Using the Maven Archetype
22.2.2. Using the gen-domain.sh shell script
22.2.3. Project structure
22.3. Components
22.4. Connectors
23. Prepare and use Non-OSGi Artifacts
23.1. Create Wrapped Artifacts
23.2. Tips and Tricks
24. Release and Release Process
24.1. Releases and the OpenEngSB
24.2. Git Branches
24.2.1. New Feature Workflow
24.2.2. Milestone Releases
24.2.3. Release Candidates
24.2.4. Final and Support Releases
24.3. Configure Maven
24.4. Adapt Jira
24.5. Perform the release
24.6. Spread the News
24.7. Prepare Changelog
24.7.1. Bug Fixes
24.7.2. New Projects
24.7.3. Removed Projects
24.7.4. Upgraded and New External References
24.7.5. Remvoed External References
24.7.6. New Features and Changed Behaviour
24.7.7. Depricated or Removed Features
25. Admin
25.1. Infrastructure
25.1.1. OpenEngSB Infrastructure Server
25.1.2. OpenEngSB Build
25.1.3. OpenEngSB Issuetracker
25.1.4. OpenEngSB git
25.1.5. OpenEngSB Maven
25.1.5.1. internal
25.1.5.2. external
25.1.6. OpenEngSB Mailinglist
25.2. Logo Locations and Upgrade
25.2.1. External Infrastructure
25.2.2. Internal Management Application
25.2.3. Documentation
V. Appendix
A. Java Coding Style
A.1. Sun Coding Guidelines
A.1.1. Line length
A.1.2. Wrapping
A.1.3. Number of declarations per line
A.1.4. Declaration placement
A.1.5. Blank lines
A.2. General
A.2.1. File format
A.2.2. Header
A.2.3. Duplication
A.2.4. Use guards
A.2.5. Keep methods short
A.2.6. Use enums
A.2.7. Avoid use of static members
A.2.8. Use fully qualified imports
A.2.9. Never declare implementation types
A.2.10. SerialVersionUID
A.2.11. Restrict scope of suppressed warnings
A.2.12. Use String.format()
A.2.13. Array declaration style
A.2.14. Comments
A.3. Naming
A.3.1. Interfaces
A.3.2. Don't abbreviate
A.4. No clutter
A.5. Exception Handling
A.6. Tests
A.6.1. General
A.6.2. Naming Scheme
A.7. XML Formatting
A.7.1. File Format
A.7.2. Eclipse Settings
A.7.3. Recommended Readings
B. Writing Code
B.1. Maven POM files in the OpenEngSB
C. Recommended Eclipse Plug-ins for Developers
C.1. Properties Editor
C.2. Spring IDE
C.3. Eclipse CS
C.4. Drools
D. Writing Documentation
D.1. General Documentation Guidelines
D.2. Document a domain or connector
D.2.1. Domain
D.2.2. Connector
D.3. Using Docbook
D.3.1. Tags
D.3.1.1. Including an image
D.3.1.2. Using a table
D.3.1.3. Generating the documentation
E. License