Web Services Best Practices
19.1 Web Services Best Practices
Design and architectural decisions have a strong impact on runtime performance and scalability of Web Service applications. Here are few key recommendations to achieve best performance. ■ Design Web Service applications for course-grained service with moderate size payloads. ■ Choose correct service-style encoding for your wepservice application. ■ Control serializer overheads and namespaces declarations to achieve better performance. ■ Use MTOMXOP or Fast Infoset to optimizing the format of a SOAP message. ■ Carefully design SOAP attachments and security implementations for minimum performance overheads. ■ Consider using an asynchronous messaging model for applications with: – Slow and unreliable transport. – Complex and long-running process. ■ For transactional Service Oriented Architectures SOA consider using the Last Logging Resource transaction optimization LLR to improve performance. See Section 13, Tuning Transactions . ■ Use replication and caching of data and schema definitions to improve performance by minimizing network overhead. ■ Consider any XML compression technique only when XML compressiondecompression overheads are less than network overheads involved. ■ 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 19-2 Performance and Tuning for Oracle WebLogic Server file JAXP API. Oracle recommends setting the properties on the command line to avoid unnecessary file operations at runtime and improve performance and resource usage. ■ Follow JWS Programming Best Practices in Getting Started With JAX-WS Web Services for Oracle WebLogic Server. ■ Follow best practice and tuning recommendations for all underlying components, such as Section 10, Tuning WebLogic Server EJBs , Section 18, Tuning Web Applications , Section 12, Tuning Data Sources , and Section 14, Tuning WebLogic JMS .19.2 Tuning Web Service Reliable Messaging Agents
Parts
» Oracle Fusion Middleware Online Documentation Library
» Document Scope and Audience Guide to this Document
» Performance Features of this Release Tune Pool Sizes
» Understand Your Performance Objectives
» Locate Bottlenecks in Your System Minimize Impact of Bottlenecks Tune Your Application
» VM Heap Size and Garbage Collection
» Choosing a Garbage Collection Scheme Using Verbose Garbage Collection to Determine Heap Size
» Other Java HotSpot VM Options
» Specifying Heap Size Values Tuning Tips for Heap Sizes Automatically Logging Low Memory Conditions
» JVM Tuning Considerations Using JRockit Flight Recorder Tuning Considerations
» Setting Java Parameters for Starting WebLogic Server
» Development vs. Production Mode Default Tuning Values
» Tuning Muxers Tuning Network IO
» Tuning Message Size Tuning Complete Message Timeout Tuning Number of File Descriptors
» Tune the Chunk Parameters Tuning Connection Backlog Buffering
» Tuning Cached Connections Tuning Network IO
» Scalability and High Availability
» JNDI Binding, Unbinding and Rebinding Running Multiple Server Instances on Multi-Core Machines
» Filtering Loader Mechanism Class Caching
» Using the Default Persistent Store Using Custom File Stores and JDBC Stores
» Basic Tuning Information Tuning File Stores
» Best Practices When Using Persistent Stores Tuning JDBC Stores General Suggestions
» Transaction-Level Caching Caching between Transactions Ready Bean Caching
» Tuning the Stateless Session Bean Pool Tuning the MDB Pool Tuning the Entity Bean Pool
» Use JDBC Batch Operations Tuned Updates Using Field Groups include-updates
» call-by-reference Bean-level Pessimistic Locking Concurrency Strategy
» Cache Miss Ratio Lock Waiter Ratio
» Lock Timeout Ratio Pool Miss Ratio
» Destroyed Bean Ratio Pool Timeout Ratio
» Determining the Number of Concurrent MDBs Selecting a Concurrency Strategy
» Thread Utilization When Using WebLogic Destinations Limitations for Multi-threaded Topic MDBs
» Use Test Connections on Reserve with Care Cache Prepared and Callable Statements
» Read-only, One-Phase Commit Optimizations JMS Performance Tuning Check List
» Improving Message Processing Performance
» Cache and Re-use Client Resources Tuning Distributed Queues
» Quota Resources Destination-Level Quota
» Defining a Send Timeout on Connection Factories
» Tuning Topics Tuning for Large Messages Setting Maximum Message Size for Network Protocols
» Compressing Messages Oracle Fusion Middleware Online Documentation Library
» How Flow Control Works Configuring Flow Control
» Defining a Message Expiration Policy Configuring an Expiration Policy on Topics
» Configuring an Expiration Policy on Queues Configuring an Expiration Policy on Templates
» Defining an Expiration Logging Policy Expiration Log Output Format
» Best Practices Using UOO and Distributed Destinations Migrating Old Applications to Use UOO
» Messaging Performance Configuration Parameters
» Client-side Thread Pools Best Practices for JMS .NET Client Applications
» Best Practices Changing the Batch Size Changing the Batch Interval
» Changing the Quality of Service Using Multiple Bridge Instances Changing the Thread Pool Size
» Classloading Optimizations for Resource Adapters Connection Optimizations
» Disable Page Checks Use Custom JSP Tags Precompile JSPs
» Managing Session Persistence Session Management
» Thread Management InteractionSpec Interface Pub-Sub Tuning Guidelines
» Setting the Buffering Sessions Releasing Asynchronous Resources
Show more