OpenEngSB Manual

Version 2.0.2

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. Semantics in the OpenEngSB
6.1. Domain Models
6.2. Load Domain Models
6.3. Model Transformation
7. Context Management
7.1. Wiring services
8. Persistence in the OpenEngSB
8.1. Core Persistence
8.2. Configuration Persistence
8.2.1. Context configuration persistence
9. Security in the OpenEngSB
9.1. Usermanagement
9.2. Access control
9.3. Authentication
10. Workflows
10.1. Workflow service
10.2. Rulemanager
10.3. Processes
11. Taskbox
11.1. Core Functionality
11.2. UI Functionality
12. Remoting
12.1. Filters
12.2. Configure a filterchain
12.3. Develop custom filters
12.4. Develop an incoming port
12.5. Develop an Outgoing port
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
14.2. Context configuration
15. Client Projects and Embedding The OpenEngSB
15.1. Using the same dependencies as the OPENENGSB
16. OpenEngSB Platform
17. HowTo - Setup OpenEngSB for development (First steps)
17.1. Goal
17.2. Time to Complete
17.3. Prerequisites
17.4. Java Development Kit 6
17.5. Getting OpenEngSB
17.6. Installing OpenEngSB
17.7. Setup required domains
17.8. First Steps
17.9. Shutdown OpenEngSB
18. HowTo - First steps with the OpenEngSB (Send mails via the OpenEngSB)
18.1. Goal
18.2. Time to Complete
18.3. Prerequisites
18.4. Creating E-Mail Services
18.5. Executing Service Actions Directly
18.6. Executing Service Actions via Domains
18.7. Next Steps
19. HowTo - Events with the OpenEngSB (Using the logging service)
19.1. Goal
19.2. Time to Complete
19.3. Prerequisites
19.4. Create required connectors
19.5. Configure
19.6. Creating a rule
19.7. Throw Event
19.8. Next Steps
20. HowTo - Create a Client-Project for the OpenEngSB
20.1. Goal
20.2. Time to Complete
20.3. Step 1 - Needed tools
20.3.1. Java Development Kit 6
20.3.2. Maven 3
20.4. Step 2 - Using the archetype
20.5. Step 3 - The result
20.6. Step 4 - Install features
20.7. Step 5 - Start the Client-Project
20.8. Step 6 - Shutdown
21. HowTo - Interact with the OPENENGSB Remotely
21.1. Using JMS proxying
21.1.1. Proxying internal Connector calls
21.1.1.1. HowTo call an external service via proxies
21.1.2. Calling internal Services
21.1.3. Examples
21.1.3.1. Connect With Python
21.1.3.2. Connect With CSharp
21.1.3.3. Connect With Perl
21.1.4. Alternatives for JMS
21.2. Using WS Proxing
21.3. Internal Specialities
22. HowTo - Combine multiple connectors
22.1. Composite strategies
22.2. Create a composite connector
23. How to define a domain model
23.1. Goal
23.2. Time to complete
23.3. Prerequisites
23.4. Step 1 - Plan the structure of the model
23.5. Step 2 - Write the model
23.6. Step 3 - Add the model to a domain
23.7. Step 4 - Use the model
24. HowTo - Integrate services with OpenEngSB
24.1. Goal
24.2. Time to Complete
24.3. Prerequisites
24.4. Setting up OpenEngSB
24.5. Step 1 - Source repository
24.6. Step 2 - Building the source code
24.7. Step 3 - Testing binaries
24.8. Step 4 - Notification Process
24.9. Further Reading
25. HowTo - Change EDB database back end
25.1. Goal
25.2. Time to Complete
25.3. Use JPA compatible database
25.4. Use non JPA compatible database
25.5. Appendix: Use no OSGi compatible database
26. HowTo - Test Remote Messaging using Hermes JMS
26.1. Preparation
26.1.1. Preparing the Server
26.1.2. Setup Hermes
26.2. Send and Receive Messages
III. Included Domains and Connectors
27. Appointment Domain
27.1. Description
27.2. Functional Interface
27.3. Event Interface
28. Build Domain
28.1. Description
28.2. Functional Interface
28.3. Event Interface
29. Contact Domain
29.1. Description
29.2. Functional Interface
29.3. Event Interface
30. Deploy Domain
30.1. Description
30.2. Functional Interface
30.3. Event Interface
31. Issue Domain
31.1. Description
31.2. Functional Interface
31.3. Event Interface
32. Notification Domain
32.1. Description
32.2. Functional Interface
32.3. Event Interface
33. Report Domain
33.1. Description
33.2. Functional Interface
33.3. Event Interface
34. SCM Domain
34.1. Description
34.2. Functional Interface
34.3. Event Interface
35. Test Domain
35.1. Description
35.2. Functional Interface
35.3. Event Interface
36. Email Connector
36.1. Configuration
37. gcalendar Connector
37.1. Configuration
38. gcontacts Connector
38.1. Configuration
39. Git Connector
39.1. Configuration
40. github Connector
40.1. Configuration
41. Maven Connector
41.1. Configuration
42. Plaintext Report Connector
42.1. Configuration
43. Prom Report Connector
43.1. Configuration
44. trac Connector
44.1. Configuration
IV. Administration Console
45. OpenEngSB console commands
45.1. Start the console
45.2. Available commands
V. Administration User Interface
46. Testclient
46.1. Managing global variables
46.2. Managing imports
47. Wiring
47.1. Wire a global variable with a service
47.2. What wiring does in the background
VI. OpenEngSB Contributor Detail Informations
48. Prepare and use Non-OSGi Artifacts
48.1. Create Wrapped Artifacts
48.2. Tips and Tricks
49. OpenEngSBModels
49.1. Motivation
49.2. Structure of a model
49.3. Supported field types
49.4. Model Ids
50. Engineering Database - EDB
50.1. Motivation
50.2. Structure
50.3. Usage
50.4. Conflict Detection
51. Engineering Knowledge Base - EKB
51.1. Motivation
51.2. Query Service
52. How To Create an Internal Connector
52.1. Prerequisites
52.2. Creating a new connector project
52.2.1. Using the Maven Archetype
52.2.2. Using mvn openengsb:genConnector
52.3. Project Structure
52.4. Integrating the Connector into the OpenEngSB environment
53. How To Create an Internal Domain
53.1. Prerequisites
53.2. Creating a new domain project
53.2.1. Using the Maven Archetype
53.2.2. Using mvn openengsb:genDomain
53.2.3. Project structure
53.3. Components
53.4. Connectors
54. HowTo - Extend OpenEngSB Console
54.1. Goal
54.2. Time to Complete
54.3. Prerequisites
54.4. Start the console
54.5. Adding new commands
55. HowTo - Create a connector for an already existing domain for the OpenEngSB
55.1. Goal
55.2. Time to Complete
55.3. Prerequisites
55.4. Step 1 - Use the archetype
55.5. Step 2 - Add the dependencies
55.6. Step 3 - Configure the connector
55.7. Step 4 - Implement the connector
55.8. Step 5 - Blueprint Setup and Internationalization
55.9. Step 6 - Start the OpenEngSB with your Connector
55.10. Step 7 - Test the new connector
56. How to add new field support for domain models
56.1. Goal
56.2. Time to complete
56.3. Prerequisites
56.4. Subtask 1 - Add model support
56.4.1. Create new converter step
56.4.2. Add converter step
56.5. Subtask 2 - Add EDB support
56.5.1. Extend EDB
56.5.2. Extend EKB