In an attempt to understand and learn SOA, i did an extensive research and have collated my findings as below. Hope this will help the beginners like me.
As Service Oriented Architecture (SOA) begins to form the fabric of IT infrastructure, active and aggressive SOA testing has become crucial. Comprehensive Functional, Performance, Interoperability and Vulnerability Testing form the Towers of SOA Testing. Only by adopting a comprehensive testing stance, enterprises can ensure that their SOA is robust, scalable, interoperable, and secure.
Web Services have blurred the boundaries between network devices, security products, applications and other IT assets within an enterprise. Almost every IT asset now advertises its interface as a Web Services Definition Language (WSDL) interface ready for SOAP/XML messaging. Web Services interfaces provide unprecedented flexibility in integrating IT assets across internal and external corporate domains. Such flexibility makes it the responsibility of IT staff from all domains such as Developers, Network Engineers, Security & Compliance Officers, and Application QA Testers to ensure that their Web Services work as advertised across functional, performance, interoperable and security requirements.
Towers de SOA Testing
Tower I: Functional & Regression Testing
Functional and Regression Testing is the First tower of testing SOAs. IT Professionals need to quickly test Web Services and setup desired regression Test Cases. Ease-of-use in setting up such tests encourages technologist with varying skills and responsibilities to test their Web Services quickly and often.
Tower II: Performance
Performance is the Second Tower of SOA Testing. QA Testers, Network & Security Engineers should test the scalability and robustness of Web Services and determine performance and endurance characteristics of their WSDL operations. Testers should determine response times, latency, throughput profiles for target Web Services. In addition to performance profiles, tester should run test for a specified duration for measuring endurance and robustness profiles. They also need to determine scalability by bombarding target Web Services with varying SOAP messages across a range of concurrent loading clients.
Tower III: Interoperability
While loading a Web Service WSDL, consumer applications need to determine both design-time and run-time interoperability characteristics of the target Web Services. Developers should run a set of comprehensive WSI Profile tests and report interoperability issues with the Web Services WSDL. Adhering to WSI Profiles ensures that SOA assets are interoperable and that WSDL can work within heterogeneous .NET & Java environments.
Design-time WSDL interoperability testing is not enough. Run-time Interoperability testing is also necessary. Testing the interoperability of a Web Services requires creating specialized test suites for a WSDL. These tests ensure that the target Web Services are interoperable by actively sending specialized request to the Web Services and determining whether the Web Service responds per WSI Profile specification. Comprehensive design-time WSDL WSI Profile testing combined with active run-time Web Service interoperability behavior testing ensures that IT assets can integrate independent of platform, operating system, and programming language.
Tower IV: Vulnerability Assessment
Vulnerability Assessment is the Fourth Tower of SOA Testing. Active Web Services Vulnerability Assessment is an emerging area of SOA testing. By creating specialized tests for a target Web Service, security officers can measure the vulnerability profiles of the target Web Service. Security Engineers need to ensure that Web Services vulnerabilities such as buffer overflows, deeply nested nodes, recursive payloads, schema poisoning and malware traveling over SOAP messages do not affect their critical Web Services. They need the ability to rapidly scan Web Services and assess areas of exposure, determine severity levels, provide vulnerability diagnosis, and publish remediation techniques. Web Services Vulnerability Assessment is a crucial pre-production and post-production step that every .NET and Java developer and security professional must take to ensure risk mitigation within their Service Oriented Architecture.
Finally SOA – it is and it is NOT?
• Service-Oriented Architecture is an architectural strategy that helps achieve closer business-IT alignment, by taking a three-dimensional perspective of the enterprise. The three dimensions being: technology, people and processes.
• The key aspect of SOA is to make business functionality available as a set of well governed, standards based, loosely coupled services and processes, defined in a flexible and agile manner.
• SOA is an infrastructure-based architectural approach to deliver business ‘functionalities’ as ‘shared services’ by using open standards and/or protocols of communication.
• SOA is an approach that allows for implementing business ‘capabilities’ that can be consumed as services.
• SOA is not about technology specific design or architecture – it is business driven (through capabilities and functionalities/functions) for service enablement of the processes!
Reference:- Internet research