Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 6 HTTP Palette : HTTP Connection

HTTP Connection
Shared Configuration
The HTTP Connection resource describes the characteristics of the connection used to receive incoming HTTP requests. This resource is used when TIBCO ActiveMatrix BusinessWorks expects to receive an HTTP request on a specific port where a process engine is running. For example, the process starters HTTP Receiver and SOAP Event Source and the signal-in activity Wait for HTTP Request receive HTTP requests.
Two types of servers are available for the HTTP Connection resource: Tomcat and HTTPComponent.
Tomcat has a synchronous request response paradigm and can be used in scenarios where high throughput is important. To achieve a good throughput with Tomcat, the maxprocessor value should be almost equal to the number of concurrent requests the server can handle. Note that increasing the maxprocessor count also increases the memory footprint.
HTTPComponent is a light-weight and scalable server based on NIO which can be useful in scenarios where handling thousands of requests in a resource efficient manner is more important than the throughput. HTTPComponent server gives a consistent throughput for any number of concurrent requests with little or no increase in its worker thread (maxprocessor thread).
You can choose the server type at runtime by setting the global property bw.plugin.http.server.serverType in the file bwengine.tra. Using this property, you can use the HTTPComponent server at run-time for older projects without having to modify the server type at design-time. The value set for this property in the bwengine.tra file overrides the value that is set in design-time.
The HTTP Connection resource can specify that the HTTPS (secure sockets layer or SSL) protocol must be used by clients. If this is enabled, you can configure the SSL parameters for the HTTP server using the Configure SSL Button. See Configure SSL Button for more information.
Configuration
The Configuration tab has the following fields.
Specifies the name of the host that accepts the incoming requests. For machines that have only one network card, the default value localhost specifies the current machine. For machines that have more than one network card, this field specifies the host name of the card that will be used to accept incoming HTTP requests.
If there is more than one network card on the machine, and you specify localhost in this field, all network cards on the machine will listen for incoming HTTP requests on the specified port.
Note: Only one HTTP server can be started on each port. Therefore, if you have a machine with multiple network cards, make certain that all HTTP Connection resources that use the same host name specify different port numbers.
Note: When the hostname is localhost, TIBCO ActiveMatrix BusinessWorks considers the machine as a non multi home environment. Hence it is not required to set the bw.plugin.http.server.defaultHost property in bwengine.tra file.
However, when the hostname is anything other than the localhost, then TIBCO Activematrix BusinessWorks considers the machine as a multi home environment. Set the bw.plugin.http.server.defaultHost property in bwengine.tra file to the same value as has been set in the host field of HTTP Shared Connection for default host.
Configure SSL Button
The Configure SSL button allows you to specify the SSL parameters for the HTTP connection. The following are the fields in the SSL Configuration for HTTPS Connections dialog:
The HTTPComponent server type does not support Entrust based SSL. Set property java.property.TIBCO_SECURITY_VENDOR to j2se in the bwengine.tra file for HTTP SSL to work with HTTPComponent server type.
See TIBCO Designer Palette Reference for more information.
When checked, this field specifies that the minimum strength of the cipher suites used can be specified with the bw.plugin.security.strongcipher.minstrength custom engine property. See TIBCO ActiveMatrix BusinessWorks Administration for more information about this property. The default value of the property disables cipher suites with an effective key length below 128 bits.
Advanced
The Advanced tab has the following fields
Specify the value in bwengine.tra to set the value in run-time.
off: By default, the compression is disabled.
on: Allows compression for text data.
any numerical integer value: Any numerical value equivalent to "on", and specifies the minimum amount of data before the output can be compressed.
Custom Properties for the HTTP Palette
In some situations, you may want to alter the configuration of the HTTP server that receives incoming HTTP requests for TIBCO ActiveMatrix BusinessWorks. You can configure the following custom properties:
bw.plugin.http.server.minProcessors : the minimum number of threads available for incoming HTTP requests. The HTTP server creates the number of threads specified by this paramter when it starts up. The default value of this property is 10.
bw.plugin.http.server.maxProcessors : the maximum number of threads available for incoming HTTP requests. The HTTP server will not create more than the number of threads specified by this parameter. The default value of this property is 75.
bw.plugin.http.server.maxSpareProcessors : the maximum number of unused request processing threads that can exist until the thread pool starts stopping the unnecessary threads. The default maximum number of spare threads is 50.
bw.plugin.http.server.acceptCount : the maximum queue size for incoming requests. Incoming requests that are not handled by available threads are placed on the queue until they can be processed. If the queue is full, new incoming requests are refused with an error. The default value of this property is 100.
bw.plugin.http.server.restrictIPAddresses : a comma-separated list of regular expression patterns that is compared with the remote client’s IP address before accepting or rejecting requests from the client. The remote IP address of the client must not match for any request from this client to be accepted.
bw.plugin.http.server.serverType : the type of server to be used for the HTTP connection resource. Two server types are available: Tomcat and HTTP Component. The default value of this property is Tomcat.
bw.plugin.http.server.httpcomponents.workerThread : the maximum number of web server threads available to handle HTTP requests for the HTTPComponents server type. The default value of this property is 50.
bw.plugin.http.server.restrictHttpMethods : specific HTTP methods can be disabled. By default, none of the HTTP methods are restricted by the server. You can specify a comma-separated list of methods that are to be restricted. These restrictions are then applicable to all resources accessed on this server, for all roles. You cannot disable methods selectively for a particular service or for a particular server.
If you have a large number of incoming requests, you may want to change the values of these properties to handle more incoming requests concurrently.
See TIBCO ActiveMatrix BusinessWorks Administration for more information about setting custom engine properties.
The HTTP Receiver uses the minProcessors/maxProcessors properties to control the flow of incoming HTTP requests. If you set the Flow Limit deployment property for a process definition with the HTTP Receiver process starter, maxProcessors is set to <flowLimitValue> - 1 and minProcessors is set to <maxProcessorValue>/2. Therefore, the Flow Limit value will never be reached because the maxProcessors property will prevent new requests from being accepted before the Flow Limit value is reached.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved