Sunday, July 31, 2011

Synchronous Vs Asynchronous Web Services


  • Client invoking the service waits for the response suspending its own processing.
  • This architecture to be used when the service can process the request in a small amount of time.


  • After sending the request, client goes on with its own processing. When a response comes it resumes whatever processing initiated the service request.
  • Can be implemented using message queues (JMS, MQSeries)


Sunday, July 24, 2011

WebServices: SOAP Message Structure

Envelope: Envelope is the root of the SOAP request. defines the XML document as a SOAP message and it contains the header and body element.

Header: Header contains auxiliary information, as SOAP blocks, such as authentication, routing information, or transaction identifier. The header is optional.

Body: Body contains the main information in one or more SOAP blocks. An example would be a SOAP block for RPC call. The body is mandatory and it must appear after the header.

Fault: Fault is a special block that indicates protocol-level errors. If present, it must appear in the body.

To Invoke a Web Service we should know the following things before going ahead.

1. The endpoint (target address) of the service
2. Exposed methods by the web service
3. Signature of the methods (Expected input-output parameters and types)
4. SOAP libraries which can serialize our invocation to a SOAP request and desterilize the SOAP response to desired return type.


Sunday, July 10, 2011


Throughput of the BusinessWorks engine is the rate at which the engine can execute and complete processes. The throughput of the engine is determined by factors that can be grouped into:
• Engine parameters
• HTTP parameters

Engine Parameters:

Thread Count: ThreadCount specifies the number of process instances (jobs) that can be executed concurrently by BusinessWorks engine. By default, the thread count is 8.

Step Count: It specifies the number of tasks that are executed successively by a thread before it is released.

HTTP Parameters:

minProcessors: Specifies the number of threads created when the HTTP Server is started. These threads process HTTP requests. The default value of this property is 10.

• Setting a high value for minProcessors can produce a large number of excessive threads and hence block the system resources.

maxProcessors: Specifies the maximum number of threads that can be created by the HTTP Server to process incoming HTTP requests. The default value of this property is 75.

• Setting a low value for maxProcessors results in the following:

1. limiting the number of threads in the system and therefore limiting the number of requests that can be processed simultaneously.
2. reduced memory contention.
3. Less number of context switches.
4. Increased throughput.

• Setting a high value for maxProcessors results in the following:

1. More number of requests can be processed simultaneously.
2. Degraded throughput for all the processes.

acceptCount: Specifies the maximum number of incoming connection requests that can be accepted when all HTTP processors are in use.
• Incoming requests received after the acceptCount limit is reached are rejected.
• The default value for acceptCount is 100.

Enable DNS Lookups: Checking this field enables a Domain Name System (DNS) lookup for HTTP clients so that the IP address is resolved to a DNS name.


Popular Posts

  © Blogger templates The Professional Template by 2008

Back to TOP