More Related Content Similar to Module 22 Deployment Configuration Similar to Module 22 Deployment Configuration (20) Module 22 Deployment Configuration2. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration – Overview
Goals of this session:
• Provide an understanding of Neuron ESB Deployment Groups
• Provide an understanding of environmental variables
• Learn how to deploy Neuron ESB
3. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration – Objectives
• Understand the features of the Neuron ESB Deployment groups
• Understand how to create and use Environmental Variables in Neuron ESB
• Learn how to deploy Neuron ESB in multiple scenarios, to include side
by side installations
4. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration – Lesson Plan
• Configuring Neuron ESB Deployment Groups
• Creating environmental variables
• Using Environmental Variables
• Deploying Neuron solutions
5. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment Groups
• Provides environment-specific
information to the Neuron ESB Runtime
and its associated Workflow Runtimes,
such as:
• What values to use for endpoint properties,
business process step properties, database
connection strings, etc.
• What Neuron ESB servers are expected to
work together, sharing the same Neuron
ESB solution
• What Neuron ESB Database, MSMQ and
Rabbit MQ servers to use
• Only one Deployment Group can be
assigned to a Neuron ESB Runtime
Instance
• All Deployment Groups are defined
within a Neuron ESB Solution
6. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment Groups
A Neuron ESB Runtime can be configured to run a specific Deployment Group.
Using Configure Server dialog Editing the esbservice.exe.config file
7. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment Groups
• Neuron ESB and MSMQ
Servers that will be used are
listed in the Machines tab
• DO NOT USE LOCALHOST - If
using remotely connected
Parties
• Use the netbios machine name,
fully qualified domain name or IP
address
• Remote parties use the name
listed to know what serve to
connect to
• If using MSMQ-based Topics,
the MSMQ Server checkbox
must be checked on at least
one machine listed
8. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment Groups
• Rabbit MQ servers are listed in
the RabbitMQ tab
• If Rabbit MQ is not a clustered
node set then ONLY enter 1
Rabbit MQ server
• If working with a clustered
node set, enter all machines in
the cluster
• Use vHost to replicate
Deployment Group topology
• E.g. create a vHost for each
deployment group
• Allows multiple deployment
groups to share same Rabbit
MQ node, while having their
own isolated exchanges and
queues!
9. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment Groups
Availability Groups
• Provides Failover Clustering
• Deployment Settings tab
• Used to determine what
servers within the Deployment
Group should be used to
round robin execution of
Workflows on vs. what servers
should be configured as
failover servers
10. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Environmental Variables
Environmental Variables
• Maintained in Neuron ESB
Explorer
• Contains name-value pairs
• Just string values
• Used to dynamically
configure everything that
needs data specific to the
runtime server environment
• Example:
• URL or database connect
string used from a server in
QA may need to be different
when running on a server in
Production
11. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Environmental Variables
Environmental Variables
• Each name is stored as an
XML file in the
EnvironmentVariables
folder of a Neuron ESB
Solution
• Each Value is stored
ENCRYPTED within their
respective Deployment
Group XML file located in
the DeploymentGroup
folder
• Deploying an
Environmental Variable
means deploying BOTH
files
12. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Environmental Variables
Maintaining Values
• Using the Neuron ESB
Explorer
• Pros – easy to use
• Cons – values visible to
everyone
• Alternatives
• Values can be maintained in
each esbservice.exe.config file
– File based security can be used
in each environment to limit
access
– Can be maintained in Source
Control
– Must Add the
“neuron.environment” section to
configSections
• Don’t include other
Deployment group XML files
13. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Environmental Variables
Applying Values
• Bindings Expressions Dialog
• Available almost everywhere
• Can set any property using
Environment Variables
• Using C# in any Business
Process or Workflow
• HTTP Client Utility
14. Purpose: To familiarize users with how to access and apply Environmental Variables
Objectives:
To acquaint users with the following:
• Using Environmental Variables to configure endpoints for different groups
• Accessing Environmental Variables in C#
Deployment Configuration: Demo
15. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deploying ESB Solutions
Folder and file structure
• Deployment Options
• Xcopy
• Repository Documents Won’t
work wi
• Neuron ESB Runtime will pick
up new entity and process in
about 15 seconds
• Up to operations to ensure
dependencies are deployed
• Import/Export
• Supports partial and full
deployment
• Handles selection of
dependencies
• Will import in correct order
• UI or Command Line
• Source Control
16. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deploying ESB Solutions
Import/Export
• Neuron ESB Explorer
• via the File Menu
• Export
– Prompted to accept
dependencies
– Creates an *.esb package file
17. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deploying ESB Solutions
Import/Export
• Neuron ESB Explorer
• via the File Menu
• Import
– Can be used to import pre
3.0 ESB solutions
– Users are prompted to
select a *.esb package file
to import
– Will import into existing
solution
– Must press “Import” button
18. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deploying ESB Solutions
Import/Export
• Command Line
• The programs are located in the Neuron Instance directory
(e.g. “C:Program FilesNeudesicNeuron ESB v3DEFAULT” if installed in the default location)
• Example syntax using the ExportConfig.exe program:
ExportConfig.exe [options] path-to-directory path-to-esb-file
• Where “path-to-directory” is the ESB configuration folder that you want to export elements from
and “path-to-esb-file” is the path to the file that you want to save the exported elements to.
• Example Usage:
ExportConfig.exe --party ExamplePub “C:NeuronESBConfiguration” “C:Export.esb”
ExportConfig.exe --party Party1 --party Party2 --process Process1 --process Process2
“C:NeuronESBConfiguration” “C:Export.esb”
• Also will detect and support Response files ( e.g. *.rsp)
ExportConfig @TopicsAndParties.rsp C:MyConfiguration C:TopicsAndParties.esb
19. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deploying ESB Solutions
Import/Export
• Command Line
• The programs are located in the Neuron Instance directory (e.g. “C:Program
FilesNeudesicNeuron ESB v3DEFAULT” if installed in the default location)
• Example syntax using the ImportConfig.exe program:
ImportConfig.exe [options] path-to-esb-file path-to-directory
• Where “path-to-directory” is the ESB configuration folder that you want to import elements to
and “path-to-esb-file” is the exported esb file that you want to import from.
• Example Usage:
ImportConfig.exe --party ExamplePub “C:ExportedConfig.esb” “C:MyESBConfig”
ImportConfig.exe “C:ExportedConfig.esb” “C:MyESBConfig”
ImportConfig.exe --party Party1 --party Party2 --process Process1 --process Process2
“C:ExportedConfig.esb” “C: MyESBConfig”
20. Purpose: To familiarize users with how to deploy Neuron ESB artifacts to different
servers/solutions
Objectives:
To acquaint users with the following:
• Using Copy/Paste
• Using Import/Export UI
Deployment Configuration: Demo
21. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Multiple Instances
• Windows NT Service –
ESBService.exe
• Multiple instances of runtime supported
through Installer
• Means you can run multiple Configurations
on same box
• Each Neuron ESB Runtime provided an
“Instance” name at install time
• Used to run - multi part solutions on
same machine
• Example: x86 and x64 living on same
box
• Solutions could “share” messages if
using MSMQ queued Topics and
configured with same Topic name.
• Great way to take CPU/Thread
intensive endpoints and assign them to
a dedicated host instances
Neuron ESB
Runtime
Financial Processing Solution
Service Integration Gateway
Neuron ESB
Runtime Manufacturing Solution
Neuron ESB
Runtime Service Integration Gateway
Neuron ESB
Runtime Financial Processing Solution
22. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Multiple Instances
Considerations
• Running Different Solutions
• Port Configurations
– All Solutions by default use same
ports defined in Port tab of Zone
Settings
– Must be unique between
Solutions
-OR-
– Use TCP Port Sharing
• MSMQ-based Topics
– Topics must be uniquely named
between solutions
• RabbitMQ-based Topics
– No issues
• Client Connector URLs
– Full addresses must be unique
Neuron ESB
Runtime
Financial Processing Solution
Service Integration Gateway
Neuron ESB
Runtime Manufacturing Solution
Neuron ESB
Runtime Service Integration Gateway
Neuron ESB
Runtime Financial Processing Solution
23. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment
ActiveMQ MongoDB
ActiveMQ
Adapter
MongoDB
Adapter
In-Memory
Message
Routing
Neuron Server Neuron
Database
Single Box Deployment – No HA
24. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment
Single Box Deployment – No HA
ActiveMQ MongoDB
ActiveMQ
Adapter
MongoDB
Adapter
MSMQ/RabbitMQ
Durable
Message
Routing
Neuron Server Neuron
Database
25. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment
Multi-Box Deployment – No HA
ActiveMQ
MongoDB
MSMQ/RabbitMQ
Neuron Server
Neuron Server
Neuron
Database
26. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment
Multi-Box Deployment – With HA
SAN
ActiveMQ
MongoDB
Neuron Server
Neuron Server
MSMQ
Server
MSMQ
Server
Cluster
MSMQ
MSMQ
SQL Cluster
Neuron
Database
Neuron
Database
27. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration: Deployment
Multi-Box Deployment – With HA
ActiveMQ
MongoDB Neuron Server
Neuron Server
RabbitMQ
Server
RabbitMQ
Server
Cluster/Mirror
RabbitMQ
RabbitMQ
SQL Cluster
Neuron
Database
Neuron
Database
LoadBalancer
28. © Copyright 2014, Neudesic. All rights reserved.
Deployment Configuration – Review
• How can you configure the Neuron ESB Runtime to use a specific Deployment Group?
• What elements are contained within a Deployment Group?
• What 2 places can you define Environmental Variables?
• Where are the values for Environmental Variables stored?
• Where can I use Environmental Variables?
• When can I NOT use localhost as a machine name?
• How do Availability Groups use Deployment Groups?
• What can’t I deploy using Xcopy?
• What can I used from the Neuron ESB Explorer to move my changes to a Topic from
one environment to another?
• Where can I find deployment command line tools?
Editor's Notes When using the Neuron ESB Explorer, the values are visible to everyone. If there is security specific information…..that may not be desirable
When using the Neuron ESB Explorer, the values are visible to everyone. If there is security specific information…..that may not be desirable An error?: Repository Documents Won’t work wi
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating
There are several reasons why you would want to run multiple instances on the same server.
An x86 version can coexist with an x64 version. You may find that some ODBC drivers are only 32 bit, hence you could have a dedicated runtime to handle ODBC communication. Basically you would be dedicating