The following sections contain BEA best practices for designing, developing, and deploying WebLogic Web Services applications and application resources:
Design and architectural decisions have a strong impact on runtime performance and scalability of webservice applications. Here are few key recommendations to achieve best performance.
Design webservice applications for course-grained service with moderate size payloads
Choose correct service (RPC or Document) and encoding (Encoded or Literal) style for webservice application
Control serializer overheads and namespaces declarations to achieve better performance.
Carefully design SOAP attachments and security implementations to minimize negative performance
Consider using an asynchronous messaging model for applications with:
slow and unreliable transport
for complex and long-running process.
For transactional Service Oriented Architectures (SOA) consider using the Last Logging Resource transaction optimization (LLR) to improve performance. See Tuning Logging Last Resource.
Use replication and caching of data and schema definitions to improve performance by minimizing network overhead.
Use XML compression where the XML compression overhead is less than network latency.
Applications that are heavy users of XML functionality (parsers) may encounter performance issues or run out of file descriptors. This may occur because XML parser instances are bootstrapped by doing a lookup in the jaxp.properties file (JAXP API). BEA recommends setting the properties on the command line to avoid unnecessary file operations at runtime and improve performance and resource usage
Web Service Reliable Messaging provides advanced store-and-forward capability for high-performance message forwarding from a local server instance to a remote destination. See “Understanding the Store-and-Forward Service” in Configuring and Managing WebLogic Store-and-Forward. The following section provides information on how to get the best performance from Store-and-Forward (SAF) applications:
Configure separate SAF Agents for JMS SAF and Web Services Reliable Messaging Agents to simplify administration and tuning.
Sharing the same WebLogic Store between subsystems provides increased performance for subsystems requiring persistence. For example, transactions that include SAF and JMS operations, transactions that include multiple SAF destinations, and transactions that include SAF and EJBs. See Tuning the WebLogic Persistent Store.
Consider increasing the WindowSize parameter on the remote SAF agent. For small messages of less than 1K, tuning WindowSize as high as 300 can improve thoughput.
Note:
Note that WindowSize also tunes JMS SAF behavior, so it may not be appropriate to tune this parameter for SAF agents of type both.
Ensure that retry delay is not set too low. This may cause the system to make unnecessary delivery attempts.