Gopalan Suresh Raj's Web Cornucopia
An Oasis for the parched Enterprise Services Engineer/Developer

    SOA Tips-Consider using a StaX-based parser to process huge XML datasets

    SOA-Tips

    This post talks about choosing the right XML parser for your implementation. You have a choice of using either a DOM-based, SAX-based or a StaX-based XML parser.

    SOA Tips-Separation of Concerns

    SOA-Tips

    This post talks about the Separation of Concerns between the Information Model, the Business-specific information, and more technical information about the protocols, bindings, and transports used to expose and carry the message over the network.

    SOA Tips-Cache wherever possible

    SOA-Tips

    Use policies like Aggregation by Replication and cache wherever possible.

    SOA Tips-Security/Performance Tradeoffs

    SOA-Tips

    TLS which uses X.509 digital certificates to provide message confidentiality is not suitable for short message exchange while WS-Security is twice as expensive as TLS. Be aware of the trade-offs when designing your service.

    SOA Tips-Stateless vs Stateful

    SOA-Tips

    If you want state management, consider using BPEL for orchestration as WSDL-based web services do not have the concept of state.

    SOA Tips-Do not use the SOAP action header for message routing purposes

    SOA-Tips

    Do not rely on SOAP action header for message routing purposes.

    SOA Tips-Be aware of SOAP Verbosity (Message size overhead)

    SOA-Tips

    XML and SOAP message overhead can grow significantly depending on the nesting levels of the parameter types

    SOA Tips-As much as possible, avoid using Base64 Encoded/Raw bytes in the message Body

    SOA-Tips

    Avoid using Base64 Encoded/Raw bytes in the message Body

    SOA Tips-Use strongly typed messages - Avoid use of xsd string to represent the entire message Body

    SOA-Tips

    Define a strongly typed XML schema for message exchange

    SOA Tips-Do not mix style/use in the same service

    SOA-Tips

    Do not mix between different styles and uses in the same service