RTSO Newsletter

Page 1



3

EDITORIAL Satish Chennagoni TECHNICAL ADVISORY

Dear Readers,

Regression Testing Service Offering Team

elcome to the one more exciting edition of the W Regression Testing Service Offering Newsletter. I am glad

Syamprasad Uppuluri [FLCL] Rama Kandipati Peta Poorna Sreenivas M K

Business Requirements today change overnight. There’s no shortage today of buzz concerning service-oriented architecture (SOA) and its benefits. But building evidence indicates that it’s not all hype. In fact, you may have already encountered articles and analyst case studies that showcase the benefits being realized from SOA. As SOA moves past the theory stage and into actual initiatives that deliver real returns on investment, it becomes important to understand key SOA concepts and principles. Only then can you begin to evaluate whether SOA may bring tangible benefits to your own business.

SPECIAL THANKS Venkatesh Chillara Ritendra Banerjee Gourinadh Gumma Rajgopal Satpaluri Srini Kumar For their Technical inputs and Support

FEEDBACK Please give your valuable suggestions and feedback to the given mail address and help us improve. Satish_chennagoni@satyam.com *************** DISCLAIMER

to say that we have published three issues of RTSO Newsletter which is an indicator of our progress. Like all the previous issues this Newsletter focuses on the Service Oriented Architecture and Web service Testing.

**************

This document is for QEdge internal circulation presented by Satyam QEdge Regression Testing Service Offering Team. Though QEdge RTSO Team believes reasonable efforts have been made to ensure the accuracy of the information contained in the document, it may include inaccuracies or typographical errors and may be changed or updated without notice.

This Newsletter will present the latest Happenings in the SOA WORLD and RTSO focus on SOA Testing. The QEdge Regression Testing Service offering is working on SOA and Automation Using Tools. We are moving ahead with good progress increasing our expertise and Competencies with great support from QEdge. Please feel free to browse this issue of “RTSO Newsletter”. I thank you for all your hard work since the last three issues and encourage you to maintain the same standards we have already met, and to build upon what we have already accomplished. Keep up the good work! Thanking you and looking forward for your support. Enjoy Reading!!

Satish Chennagoni

*******************************************

Regression Testing Service Offering

Satyam Computer Services Ltd.

QEdge

RTSO


4

RTSO focus R

egression Testing (RT) COE is a Service Offering from QEdge that helps projects reduce the cycle time of web applications testing through various techniques like automation etc‌As part of delivering value add and cost effective implementation of Regression Testing projects QEdge has created a COE to focus on Regression Testing and SOA Testing.

Provides Skills Transfer & Early

RT COE helps in centralization of all research efforts across QEdge

Proof of Concept.

providing reusable components, best practices, frameworks which in turn help Satyam & its clients reap Cost benefits. Our Automation Competency has a vast experience and success in

Project Support.

Central Repository

Automation Projects! Satyam as an Organization has Horizontal competencies specializing on Products and Vertical competencies specializing in business. QEdge specializes in providing independent testing solutions using tools from HP Mercury, IBM Rational, Compuware, iTKO and other

for Assets & Training.

open source products. RT COE also draws expertise within itself and other Horizontal practices such as ADMS & other SO’s within QEdge

Satyam Computer Services Ltd.

QEdge

RTSO


5 Getting the most from our research analysis • • • • • •

RTSOActivity

Developed Guidelines document on iTKO Lisa Developed Guidelines document on HP Service Test Helped HMRI team on Lisa issues Developed JMS Test Client in Sonic ESB Received WSDL for SO Manager and smoke testing is done. Internal integration of web services is done.

• • • •

We have expertise in Web service testing using tools such as iTKO Lisa, HP Service Test, SOAP UI – Open Source.

Project Support: HMRI and LOWES We have expertise in Web service testing using tools such as iTKO Lisa, HP Service Test, SOAP UI – Open Source. Developed Test Plan templates Developed Check list templates

“Developed Test Plan templates and Check List Templates”

Current QEdge Web Services Testing • • •

CISCO CIGNA MS

Conducted Webinars on: ‘SO Awareness’ by Regression Testing FLCL Syamprasad Uppuluri SOA Event by SOA Team. • Introduction to SOA (WSDL, SOAP, UDDI, Web Services) • SOA Testing & Test Methodology • SOA Test Tools Used in QEdge (Lisa, Service Test, SoapUI, QTP Web service Add-in) Conducted Vshare sessions on HP Service test and Basics of SOA on 17th –March-08 and 26th- March -08 respectively.


FEATUREOf the month

6

A One-Two Punch for SOA Integration Bostech's ChainBuilder ESB's ETL Helps Companies Manage Services Using Message-Based and Database Integration

B

ostech Corporation announced the availability of ETL functionality within the latest release of its enterprise service bus, ChainBuilder ESB 1.2. Designed to graphically incorporate database content into a service-oriented architecture, the new ETL functionality advances the total ChainBuilder ESB solution, enabling companies to more intelligently manage databases and applications within a single solution.

Bostech created ChainBuilder ESB for architects, developers and application analysts as an easy-touse, standards-based platform that simplifies the process of integrating data and applications. Many other vendors' ETL implementations have concentrated on database-to-database integrations, so complementing ChainBuilder ESB's traditional message-based functionality with GUI-driven access to databases has moved ChainBuilder ESB ahead in terms of integration flexibility. ChainBuilder ESB now provides straight-forward integrations from any message data source to databases and vice-versa. "Organizations are facing increasing complexity in their SOA implementations, especially when incorporating existing applications," says David Bourke, CEO, Bostech Corporation. "Bostech's expertise in solving thousands of business integration projects makes us uniquely suited to help companies overcome the challenges of blending disparate applications as they build out their SOA environment. With the addition of the ETL Data Source Mapper and ETL Binding Component to the ChainBuilder ESB product suite, architects have more integration flexibility, with alternative service and application integration options available in one tool." ChainBuilder ESB's message-based integrations combined with new ETL functionality can influence the time-to-market of the entire architecture. For example, school district software applications are primarily database driven, yet the education industry's new Schools Interoperability Framework (SIF) initiative is essentially message-based. The ChainBuilder ESB solution assists school districts to easily perform these SIF message-to-database or database-to-message transformations through table driven drag-and-drop interfaces. In addition to the new ETL functionality, Bostech recently released the following improvements to ChainBuilder ESB: • Updated Admin Console allows environments to be managed anytime from anywhere with real-time status, alerting of the ESB activities, and a graphic view of the bus through a web-based interface. • Updated HTTP/S component with many enhancements including the transmission of attachments, supporting MTOM and SOAP with Attachments (SwA). • Improved HTTP wizard with a "WSDL builder" to create new WSDLs or leverage existing schemas, such that any dependent schema files are automatically resolved and included in the project. • Improved JMS Binding Component providing automatic retry logic to recover from common faults caused by connectivity issues. • New product support for Windows Vista.

Satyam Computer Services Ltd.

QEdge

RTSO


7 ChainBuilder ESB ChainBuilder ESB is a Java Business Integration (JBI) compliant solution for use in Service Oriented Architecture (SOA) environments. ChainBuilder ESB components are easily configured with drag and drop functionality and wizards through graphical user interfaces. ChainBuilder ESB includes a web admin console to remotely manage and control the ESB. Taking advantage of the interoperability of the JBI open standard, ChainBuilder ESB was designed to work with any JBIcompliant container. ChainBuilder ESB 1.0 ships with open source Apache ServiceMix as the JBI container, but ChainBuilder ESB has also been successfully tested to work with Sun's Open ESB JBI container.

As part of the robust solution, Bostech leverages existing open source software in other areas of ChainBuilder ESB including Eclipse as the IDE framework, Apache Derby as the embedding Error database, Apache ServiceMix as the basis for the HTTP/SOAP component, Tomcat to run the Admin Console servlet, and AJAX-based technologies to create the web console. ChainBuilder ESB is distributed free as an Open Source ESB under the General Public License. Bostech offers Professional Subscriptions for enhanced warranty and helpdesk support for the open source license. A commercial license is also available.

“

"With its service-oriented architecture, ChainBuilder ESB easily integrates with an existing infrastructure while supporting open standards like Java Business Integration (JBI)," says Jeff Bardash, VP Sales and Strategic Alliances, "Bostech remains a leader in the development and distribution of superior integration technology that efficiently connects an organization's legacy and current systems."

Satyam Computer Services Ltd.

QEdge

,, RTSO


SERIES

8

SERIES

In this edition of Newsletter we focus on the next step in the journey of a Web service‌

What Web Services Payback? Advantages of Web services Easily Accessible

Web services are distributed over the Internet. Web services make use of existing, Ubiquitous transport protocols like HTTP, leveraging existing infrastructure and allowing Information to be requested and received in real time. Current IT infrastructure for addressing, security and performance can be applied to Web services applications as well

Reduced IT costs Historically, most organizations have addressed interface Challenges by writing large amounts of code. Employing well-designed solutions can reduce the initial financial and time outlays as well as the ongoing maintenance costs of this effort

Enables just-in-time integration

A service requester describes the capabilities of the service required and uses the service broker infrastructure to find an appropriate service. Dynamic service discovery and invocation (publish, find, bind) and messageoriented collaboration yield applications with looser coupling, enabling just-in-time integration of new applications and services. This in turn yields systems that are self-configuring, adaptive and robust with fewer single points of failure.

Collaborations in Web Services are bound dynamically at runtime.

Satyam Computer Services Ltd.

QEdge

RTSO


9 Reduces complexity by encapsulation All components in Web Services are services. What is important is the type of behavior a service provides, not how it is implemented. A WDS document is the mechanism to describe the behavior encapsulated by a service.

Encapsulation is key to: •

Coping with complexity. System complexity is reduced when application designers do not have to worry about implementation details of the services they are invoking. Flexibility and scalability. Substitution of different implementation of the same type of service, or multiple equivalent services, is possible at runtime. Extensibility. Behavior is encapsulated and extended by providing new services with similar service descriptions.

Enables interoperability of legacy applications By allowing legacy applications to be wrapped in SOAP and WSDL documents, and exposed as services, the Web Services architecture easily enables new interoperability between these applications. In addition, security, middleware and communications technologies can be wrapped to participate in a Web service as environmental prerequisites. Directory technologies, such as LDAP, can be wrapped to act as a service broker. Through wrapping the underlying plumbing (communications layer, for example), services insulate the application programmer from the lower layers of the programming stack.

Satyam Computer Services Ltd.

This allows services to enable virtual enterprises to link their heterogeneous systems as required (through httpbased communications) and/or to participate in single, administrative domain situations, where other communications mechanisms (for example, MQSeries) can provide a richer level of functionality. Examples of this can be found in merger situations, where the resulting enterprise must integrate disparate IT systems and business processes. A service-oriented architecture would greatly facilitate a seamless integration between these systems. Another example can be found in the combination of the travel industry with pervasive computing, when largely mainframe-based travel applications can be exposed as services through wrapping and made available for use by various devices in a service-oriented environment. New services can be created and dynamically published and discovered without disrupting the existing environment.

The standards surrounding Web services are human-readable and publicly available, allowing a developer to view exactly what is happening in the system.

Communication (with web service) beyond firewall With the web services, we can communicate with them beyond firewall because communication with web service is through soap message which are in text format . Text format messages cannot stopped by firewall.

Loosely Coupled: Loose coupling means that each service exists independently of the other services that make up the application this is achieved through XML and SOAP which makes content to float in plain Text Format.

Attribute based – No heavy coding needed:

Reusability: We need not implement a functionality which is already developed, where ever it may be whoever it may be using, still we can use as many times we want. Because of loosely coupling.

Web services are implemented with little functionality so that we can enhance reusability, so web services doesn’t need heavy coding

Ease of Integration Unlike other methods of integration, Web services are becoming widely adopted across the entire software industry. This broad industry adoption helps alleviate companies’ fears of Proprietary technologies that may “lock” them in for the future.

QEdge

RTSO


By Abdul Gouse Mohammad Regression Testing Service Offering

Service Test Service Test Feature Pack 4 and additional features embedded with it: • •

Added support for Derived types in design, record, and replay Ability to pass runtime XML parameters from one Web Service call to another

• • •

Enhanced Replay log includes JMS calls—request/response messages, headers, and Automatic generation of the correlation ID Inclusion of the SOAP Action element in the request JMS headers

JMS content

Service Emulation Ability to import WSDLs with multiple ports Sets default response with legal values for enumerations All of the WSDL's operations are listed in a separate tab in the Service Management window.

• • •

Enhanced Report Report show additional details about each Web Service call using new sub-nodes that represents the request/response header and body. lr_output_message and lr_error_message functions are documented in the Test Results report.

• •

New Protocols: JAVA and JMS Protocols: New unified protocol for testing all supported Java environments: JMS (new), CORBA, RMI and JACADA and custom.

• • • • •

Provides new functionality for recording JMS applications supporting Weblogic 8.1, Websphere MQ 6.0 and TIBCO Enterprise Message Service Service Test only supports Web Service messages over JMS message queues, but not topics. Supports asynchronous callbacks Supports JDK 1.5 and 1.6 Improved handling of undefined objects

10


SAP (Click and Script)

• •

Creates GUI-level scripts that emulate SAP applications over the Web. Supports the following SAP technologies and environments: ITS6.20, ITS6.40, Enterprise portal 7, WebDynpro.

Ajax (Click and Script)

• •

Creates GUI-level scripts that create scripts that emulate AJAX (Asynchronous JavaScript and XML) enabled applications. Provides support for Microsoft's ASP .Net AJAX UI widgets.

SOA Governance Using HP SOA Systinet SOA governance consists of the corporate, business and IT requirements and processes required to control and guide the business success of an SOA implementation. HP SOA Systinet software is a complete SOA governance and lifecycle management platform, providing a trusted system of record and a complete set of capabilities for establishing the visibility, trust and control critical to SOA success. HP SOA Systinet—which integrates with our SOA management and quality solutions—provides consistent access to and management and governance of the reusable business services, associated artifacts and information that enable successful SOA lifecycle management according to business policies.

11

HP SOA Systinet Registry provides a simple and standards based way to discover and publish reusable business services. It integrates with the Information Manager capability in HP SOA Systinet to provide a complete system of record for all SOA information. HP SOA Systinet Registry provides visibility into SOA environments and serves as a catalog for understanding services. The Policy Manager capability in HP SOA Systinet simplifies the creation, management and compliance of policies in an SOA. Using Policy Manager allows all services in an SOA to meet enterprise quality and conformance standards so they can be deployed and shared with confidence. The Contract Manager capability in HP SOA Systinet is a powerful SOA governance application that facilitates the creation and management of agreements between consumers and providers of business services. It offers consumers and providers of business services the ability to negotiate and.

specify service-level objectives, operational procedures and the terms and conditions for consuming a reusable business service Contract Manager helps create an enterprise marketplace for reusable business services by formalizing relationships between service providers and consumers and establishing mutual trust. It is critical that your governance of SOA be integrated into your SOA management processes. In the HP solution, there are multiple integration points. First, HP SOA Systinet can display information on service performance and availability to developers to help them determine whether to utilize the service in a composite application. The actual service performance and availability information is generated from HP Business Availability Center and is viewable from within HP SOA Systinet. Additionally, HP Service Level Management within HP Business Availability Center can drill down into HP SOA Systinet to view what service levels should be used when setting reporting and alerting thresholds.


Don’t just test virtually everything. Test everything virtually with LISA’s new VSE.

How LISA VSE Works LISA’s existing SOA Testing automation capacity for functionally invoking, then verifying component transactions, at every layer of the application, drives the ability of LISA VSE’s ability to dynamically model and simulate Virtual Services at a high level of detail. VSE offers unmatched value for testing changing implementations, by capturing and modeling Virtual Services within LISA that provide a robust behavioral simulation of the Service and its underlying implementation layers. With VSE, multiple teams can design and test services in parallel, without the burden of dependency on live service implementations or maintaining costly replicated test environments. LISA VSE allows the team to create and leverage Virtual Services in several ways. Virtual Services in the VSE can basically look and act like standard WSDL-defined or other Services that SOA applications can connect to, but they are actively running and implemented on an instance of the LISA Server instead of the implementation hardware, so they can be accessible for design, development and test activities whenever, and wherever they are needed.

1. 2. 3. 4. 5. 6.

Simulate a Service from WSDL Capturing, Publishing, and Using a Virtual Service. Interacting with underlying SOA Implementation and Data layers. Virtual Endpoint Testing & Lookup Isolating Load & Performance Testing from Deployed Assets Large Scale Test Data Management

Benefits of Enabling SOV with LISA VSE Virtualized Services are especially important to achieving the dream of agile SOA: shorter, iterative, requirementdriven development cycles, with testing happening every step of the way. Why? Because if you want do test-first development of SOA, you will need to test much earlier, using incomplete components, or “in progress” integrations. SOA applications are particularly prone to change, so if you have to wait for a finished app to test, that becomes a bottleneck to agility. By enabling SOV, through Virtualizing the access to Services, and simulating their behaviors, LISA VSE enables the entire team to collaboratively design, develop and test Services in parallel, increasing the agility and delivered quality of SOA applications, at a far lower maintenance and support cost. Tangible IT Cost Savings LISA VSE significantly reduces the overall cost of developing and governing SOA applications, as well as allowing the team to mitigate much of the risk of service failures and problems in deployment. LISA VSE can literally do away with up to 80% of these per-environment costs because it is virtualizing the behavior of the software, and not the software itself. Since the behavior of the entire environment can be interacted with as a running Virtual Service implementation in VSE, there are no incremental licensing costs for the underlying software (or an additional VM license).

12


How LISA Virtual Service Environment Works. Building your own functionality correctly can be hard to accomplish when live Service assets are not available. In runtime, your access to live production systems may be limited or forbidden. But you still need to test how your systems will interact with those Services as you build them.

Cost saving benefits of LISA VSE:

Goes beyond Hardware Virtualization, leveraging an additional 80% in software licensing, provisioning, support and maintenance savings over attempting to replicate SOA environments. No need to license additional copies of software, or buy additional VM instances beyond those the IT group already has within its own server farm. Increased Reuse of existing Services, and increased acceptance rate for changed services to meet requirements sustainably in deployment No-code test harness and test environment creation for drastically reduced test creation laborcosts, from 60% -- 90% depending on the scale and number of instances needed. Reduced test data management costs. Reduced support cost, and lost customer revenue due to downtime and errors within applications in deployment. Lower impact (performance issues, systems team support and downtime) on expensive,critical mainframes and enterprise systems

Agility benefits:

Eliminates the bottleneck of dependency on highly constrained, test-forbidden or incomplete live implementations and services. Enables collaborative, test-first approach with no-code test harness creation and service virtualization for both developers and non-technical resources. Keeps dependent build and test instances more current. Capture and creation of a LISA Virtual Service is a fast, automated process in LISA, making it much easier to refresh than a managed testing environment with many moving parts to maintain. Provides rich test datasets from underlying mainframe, transaction and other data sources, resolving one of the most critical and time-consuming aspects of testing a large-scale SOA system. Contributes to SOA Governance activities, such as certification, testing and monitoring of proposed and current Services at design, build and change time against a consistent, reproducible SOA model.

13


14

COVER STORY

SOA and Agile: Friends or Foes? BY SATISH CHENNAGONI Regression Testing Service Offering

SOA aims at making the entire enterprise agile by using services as the building blocks for applications. Agile software development aims at making organizations agile by introducing practices that increase communication and feedback. Which is right? Which is better? Are we comparing apples and oranges? Can they be used together, and if so, how?

Methodologies and Architectures - Mutually Exclusive? One might argue that software development practices and architectures are non-overlapping. That may be true, but not in this case. Agile methods like XP directly address design and have come up with derogatives like Big Design Up Front (BDUF) to discourage this behavior. Most SOA teams, on the other hand, are almost predominantly functional teams grouped around sets of services. The nature of SOA encourages specific team makeup and types of communication within the teams which is the realm of methodologies.

Satyam Computer Services Ltd.

QEdge

RTSO


15 Agile and SOA are Friends

Agile and SOA are Foes

SOA is an architecture. SOA stresses that businesses must be able to respond to the market and that by building services we can get rid of the duplication and get closer to the elusive goal of reuse. By building services instead of applications, teams can leverage work by others within and without the enterprise.

You would think that with shared goals the overlap of practices and architecure implied by these two techniques would be in agreement and not in conflict. At this point in time there is little in the SOA community that is Agile and vice versa. Why is this?

Agile is a methodology. Agile stresses everything changes and that software development teams must be able to recognize and respond to change frequently. By introducing both technical and non-technical practices teams are able to help businesses become agile. An architecture and methodology can be used together. They are complementary by nature. Moreover, SOA and Agile share the same broad goals. They both recognize that change is an inevitability and that organizations need to effectively cope with that change. So we would expect that Agile is by default the methodology of choice when building SOAs and vice versa - right?

One of the main reasons is that they come at the problem from different roots and initially different directions. Agile is historically grass-roots and smallproject based, although throughout the past years the community has gained experience and learned to adapt the principles of the Agile Manifesto to large projects. SOA is a newer initiative and is top-down in nature and takes a divide and conquer approach to software development. This approach, especially the 'divide' part, typically results in low-bandwidth communication between teams such as documents, specifications, etc... .

Specifically, here are three areas where SOA and Agile clash: • • •

SOA encourages that architecture be upfront while Agile has a derogative term for this approach coined BDUF. SOA encourages teams split along functional lines while Agile encourages cross-functional teams. SOA does not have a position with respect to feedback and change of the services once they are built while Agile is focused on frequent and feedback at both a technical and personal level.

Today's Reality

“To date, there is very little written on this topic. We are still trying to figure things out. This article is short because, frankly, I don't have the answers. This will be the first of several discussions on this topic. We will start out with an open playing field, and then take the important issues, as they emerge, and discuss them individually. ”

Amr Elssamadisy

Satyam Computer Services Ltd.

QEdge

RTSO


PRODUCT PREVIEW

16

Markets best Open Source

Web service Testing Tools BY SHRAVANI SATHAIAH Regression Testing Service Offering

“soapUI, TestMaker and WebInject toolsets shine once you conquer their learning curves. three tools that support to verify that your Web services do what they are supposed to do. The tools are soapUI, TestMaker, and WebInject. All are open source, and are available for free download and incorporation into your next Web services project. “

soapUI SoapUI, a Java-based tool from Eviware. This executes within its own stand-alone UI; the new release includes plug-ins for the Netbeans, Intellij, and Eclipse IDEs. The user interface conforms to the architecture of the typical IDE: a navigation pane on the left, a content pane on the right, and additional properties panes tucked near the bottom. If you've used an IDE like Visual Studio lately, you'll find your way around soapUI instantly soapUI arranges work into projects. Each project is primarily identified by the interfaces that the project is built to test. Here, an interface is the “other end” of a URI (uniform resource identifier) pointing to a site that is exposing Web service methods. You can quickly generate a skeletal project by aiming an empty project at a Web service's WSDL code; soapUI will accept WSDL from either a file or a Web service end point that transmits the WSDL for its services.

One SOAPUI Project can test Multiple Web service Endpoints. The Right hand window above shows SOAP Request/Response pair of Test.

A test step is analogous to a line of code in a program. Currently, soapUI defines six test step types, the most common being a Request, which sends an HTTP request to a destination and accepts a response. The Groovy test step (I am not making that name up) is soapUI's most powerful. Here, Groovy refers to the lightweight Javalike scripting language. A Groovy test step executes whatever Groovy code you want to place in it, which means that it can do pretty much anything that can be done in Groovy. The Groovy code in such a test step has access to the soapUI framework. For example, a Groovy test step might read information from a database (via JDBC), compare that information with a previous test step's response, and alter the execution flow of the TestCase accordingly – perhaps even executing a different TestCase. Aside from the functional testing, SoapUI will also unleash load tests on a Web service. Each load test consists of the execution of one or more TestCases, and can be tuned to simulate various scenarios. When the load test is complete, a Load Test Editor provides a raft of statistics for each TestCase: number of executions; minimum, maximum, and average execution time; and others. You can even examine the results graphically on the Statistics Diagram page. It is easy to get soapUI running; it will take you almost no time to build a basic project and construct rudimentary tests. My one gripe with the tool is that there is no contextual help in the system, which makes figuring out what your options are in particular areas of the application difficult. Nevertheless, the documentation provided is quite good, so any initial confusion evaporates with continued use.

Satyam Computer Services Ltd.

QEdge

RTSO


17 TestMaker TestMaker is a Web service testing application from PushToTest. It requires Java 1.4 (or later) to execute. Although I tested the other tools on Windows, I installed TestMaker 4.4 on Ubuntu Linux 6.10 to see what Web service testing on Linux was like. Installation was simple, and once I had specified a JAVA_HOME environment variable, TestMaker launched and ran with no problems. TestMaker's tests are embodied in scripts called “test agents.” The product lives up to its name by providing an Agent Wizard that will read a WSDL definition and automatically create a skeletal test agent.

Test Maker’s Jython tests draw upon a rich collection of classes

TestMaker test agents are written in Jython (Python written in Java). This forges a double-edged sword. On the one hand, TestMaker's scripts can be as powerful as your programming abilities allow. Jython can access all the Java libraries (and unleash all their attendant capabilities), as well as classes and methods provided with TestMaker. The largest of TestMaker's libraries is TOOL (Test Object Oriented Library), and it includes classes for handling all sorts of communication protocols: HTTP, HTTPS, SOAP, POP3, JDBC, and more. You can, therefore, create magnificently elaborate test cases that approach or surpass any client application the Web service is likely to be called by.

On the other hand, you're going to need to know Jython to get the most out of TestMaker, or in other words, you'll need to know Python and Java. That is not necessarily a bad thing, but it does mean that the learning curve for TestMaker is steeper than the other tools. A commercial version of TestMaker adds XSTest, which provides performance and scalability testing, a monitoring dashboard that runs tests cases automatically and provides live results to a viewing console and reporting capabilities. TestMaker's documentation is exceptional, and the tool has the look and feel of a professional application. However, it is difficult to master. Set aside plenty of time to go through the tutorials and examine the invaluable source code examples.

Test Maker’s TCP Monitor allows you you watch exchanges between test agentst and Target Web service( Website)

WebInject WebInject is a super-lightweight testing tool that can automate the testing of both Web services and Web applications. In fact, WebInject's ability to test XML/SOAP Web services appears to be a recent addition to the tool, as earlier versions could not readily handle the SOAP protocol. Written in Perl, WebInject is primarily a command-line tool, though its author provides a thin Perl/Tk user interface that at least simplifies the execution of tests for those unwilling to spend too much time at the command prompt. If you're not familiar with Perl, don't panic. WebInject is built so that you can construct your tests without having to touch so much as a byte of Perl code.

Satyam Computer Services Ltd.

QEdge

RTSO


18 WebInject is really an execution and reporting engine. Unlike the other tools, it has no IDE-style user interface, so tests must be written in an editor outside of the WebInject UI. This gives WebInject a less professional feel, but doesn't hamper the tool. To add a new test case, the user just pops open his or her favorite editor, does some cutting, some pasting, and a bit of tweaking to alter the template to fit the specific circumstance, and ba-ding!, you've got a new test case. WebInject's simple structure lets you build tests with amazing rapidity. You must, however, have a moderately good understanding of the mechanics of SOAP protocols as well as a tool that lets you generate and capture HTTP/SOAP requests and responses. I used the Web Service Toolkit add-on for Eclipse to grab requests and responses for WebInject; once I had gotten the hang of it, I fell easily into the groove of building test cases

Web injects uncomplicated UI simplifies the test execution and reports results such as this response time graphs.

As each test case executes, WebInject's UI displays the status (pass or fail). You can configure WebInject to provide a complete dump of all HTTP requests and responses, an exceedingly useful feature that you will certainly call upon when you need to debug a failing test case. The entire documentation consists of a one long Web page that can be read in a single sitting. However, that one page of documentation sometimes leaves you wondering how to proceed. At your service

In the back ground web injects UI shows results of a test run. The smaller window displays the test scripts

These three tools place themselves along the spectrum from quick and easy to complex and powerful. Do you need to assemble some code quickly for hurling tests at your Web service? WebInject is the logical choice; you'll be buffeting your Web service code in an afternoon. Do you need a high-end tool that lets you create powerful tests that can be extended to draw upon other system resources – the filesystem, databases, e-mail, and such? Then roll up your sleeves and plow into TestMaker. Grab a Jython manual first, though, and prepare yourself for some heavy lifting.

I prefer the middle balance struck by soapUI. The skeletal tests created by soapUI's wizard were easier to flesh out than those built by TestMaker. And, if I needed to do something elaborate and off the wall, I could always call upon soapUI's Groovy capabilities – funny name aside, they do their job well. In terms of how these products compare to commercial Web service testing tools, I'd say it's a mixed bag. They are, of course, inexpensive (free), and work well for easy to moderately-difficult jobs; on the other hand, they're somewhat less user-friendly than commercial tools and if you need to do something complex, you have to build it yourself. TestMaker comes closest to looking like a commercial product, but having to learn Jython means that it takes longer to set up some tests than it would with, say, Mindreef's SoapScope. soapUI is a tad less professional looking, but makes up for it by allowing you to construct useable tests without having to program. WebInject, however, is definitely a developer's tool. You need to know SOAP to use it well, and it isn't going to be as capable as soapUI or TestMaker because its test cases are very much driven by templates.

Satyam Computer Services Ltd.

QEdge

RTSO


19

SUMMARY By Rick Grehan

FEATURES SUMMARY GUI/IDE project management

Scripting Language

Imports from WSDL

Load testing support

Performance graphs

Platform Support

Checks for WSDL compliance

SOAP attachments support

SoapUI

Yes

Groovy

Yes

Yes

Yes

Any OS /java

Yes

Yes

TestMaker

Yes

Python

Yes

Yes

Yes

Any OS / java

No

No

WebInject

No

N/A

No

No

Yes

Any OS / Perl

No

No

COMPARISON SUMMARY SoapUI

TestMaker

WebInject

Excellent 9.0

Excellent 8.7

Very Good 8.3

Score

Weight

Score

Weight

Score

Weight

Documentation

9

20%

9

20%

8

20%

Features

9

20%

9

20%

8

20%

Scalability

9

20%

9

20%

8

20%

Ease-of-use

9

15%

7

15%

8

15%

Portability

9

15%

9

15%

9

15%

Value

9

10%

9

10%

9

10%

Criteria

Cost

Open Source

Open Source

Open Source

Platforms

Java Platform

Java Platform

Perl Platform

Bottom Line

1. Has a good balance between simplicity and capability.

1. Is a powerful, professionally crafted package.

2. It’s easy to create new projects.

2.Documentation surpasses all expectations with lots of sample codes.

1. Less feature-rich than the other tools. 2. Provides flying in minutes testing.

3. Tool is actively under improvement and development.

3. Steep learning curve, need to know Python to get the most out of it.

3. Unless you want to hack the Perl code, WebInject's feature set is pretty much what you install.

4.Good help & documentation

Satyam Computer Services Ltd.

QEdge

RTSO


SOA 2.0: Advanced SOA There has been much negative press in recent years in regards to Oracle’s touting of SOA 2.0 as the next generation version of Service Oriented Architecture. Its combination of Event Driven Architecture with Service Oriented Architecture considers the first iteration of Service Oriented Architecture to be a mere client server drive. Despite the fact that it has been presented as a new term, a lot of critics claim that what this merger actually is an advanced Service Oriented Architecture, rather than a 2.0 version. The truth is that a lot of pure play middleware vendors such as TIBCO and webMethods have had Service Oriented Architecture 2.0 attributes for many years now. Service Oriented Architecture 2.0 can thus be viewed as a marketing and product placement strategy rather than a novel approach to Service Oriented Architecture. Other commentators in the industry have criticized the decision to attach a version number to an application architecture design approach. Still, others feel that the term “next generation” should be utilized to apply to the evolution of Service Oriented Architecture techniques from Information Technology optimization to the development of businesses.

20

About Event Driven Architecture Event driven architecture can be thought of a software architecture pattern that promotes the awareness of, production, consumption, and reaction to events. An event, in this format, should be viewed as a major change in state. So, for instance, when someone buys a car, the state of the car switches from “for sale” to “sold.” The car dealer’s system architecture may then treat such a change in state as an event that should be detected, published, consumed, and produced by different applications within the system architecture. Such an architectural pattern may be applied by the implementation and design of systems and applications that transmit events between services and loosely coupled software components. Event driven systems tend to consist of producers and consumers of events. The latter subscribe to an intermediary event manager, while the former publish to this manager. Thus, after receiving an event from a producer, the manager will then forward on the event to the consumer. If the consumer is not available at this point, then the manager will be able to store the event and attempt to forward it on at a later date. Such an approach to the transmission of events is called “store and forward” in message based systems. The construction of systems and applications around event driven architecture allows for such systems and applications to be built in a fashion that facilitates more responsiveness, as event driven systems tend to be, in terms of design, a lot more normalized to unpredictable environments, as well as asynchronous ones. Event driven architecture compliments service oriented architecture in that it allows for services to be started by such triggers as events.


Both computational machinery and sensory devices are able to detect changes of state within conditions and objects, while creating events that can subsequently be processed either through a system or service. Event triggers can be thought of as conditions that lead to an event’s creation.

It is designed to utilize industry standards for all its SOA capabilities. Service quality protocols and optimization of messages are provided as a means of improving functionality. Such tools can be utilized outside of business logic as well as the implementation strategy for services.

Event Processing Styles

Businesses will also benefit from standards that describe not merely how applications cooperate, but how they are constructed. Through the usage of SOA standards, businesses can escape platform lockins, while developers will be brought up to speed with skills that are easily transferable. In short, the next generation of development standards is going to focus on two main areas:

There are three main types of event processing – simple, stream, and complex. These three styles tend to be utilized together in mature event driven architecture systems.

Simple Event Processing This style deals with events that are somehow directly related to particular, measurable condition changes. In such a style of event processing, a notable event occurs that initiates downstream actions. This style of event processing is typically utilized as a means for driving work’s real time flow. It effectively reduces both cost and lag time. Simple events, for instance, may be created through a sensor detecting changes in ambient temperature or tire pressures.

Event Stream Processing When it comes to this style of event processing, both ordinary and notable events occur. Ordinary events, such as RFID transmissions and orders, are considered for notability and then streamed to info subscribers. This style of event processing is typically utilized as a means of driving the real time flow of data in and around a particular enterprise, which enables in-time decision making.

1. 2.

the providing of a common model for the control of relationships among services; Allowing developers to implement robust web services utilizing familiar Java objects.

One question that people commonly ask after being introduced to SOA concepts is, why haven’t people been using this for the last twenty years? People tend to forget that one of the main things you need in order to build a system out of parts is a standard method of representing software parts. If no such standard exists, then things can be incredibly difficult. SOA is not exactly a new thing. Businesses have spent the last fifteen years trying to come up with a set standard. While CORBA and DCOM have been in existence for a while, they never became world wide standards. It is the Internet that has in many ways set up standards – namely HTTP and HTML – that link together people all over the globe. Businesses witnessing the growth and the development of the Internet decided to use similar strategies to link their own computer systems together.

Complex event processing This type of event processing lets patterns of ordinary, simple events be considered to infer that a complex event has taken place. Complex event processing tends to evaluate a confluence of events, then follows up by taking action. Such events, whether they be ordinary or notable, can cross event types and take place over a long duration of time. The correlation of events can be temporal, spatial, or casual. Complex event processing necessitates the employment of skilled event interpreters, event pattern matching and definition, as well as correlation techniques. Complex event processing is typically utilized as a means for detecting and responding to anomalies, threats, and opportunities in a business environment.

SOA EDA Web Services In this day and age, enterprise applications have already begun the transition from user interface driven applications to assemblies of interoperable services that are also reusable. Such services are representative of the easy business functions that are intended to be assembled together in the form of new applications. One of the main advantages of such a change in application architecture is that services can now be reused in the evolution of business processes. At the same time, users should keep in mind that such an approach to the construction of composite applications and business processes will not work in the absence of a standards compliant platform for the construction of such services. Interoperability can be quite a challenge owing to the fact that Web services protocols for such activities as messaging, optimization, and reliability can be quite complicated. One type of middleware developed by Oracle, Oracle Fusion Middleware, has been constructed on a common service infrastructure

Such businesses first came up with Web services standards. Such services are based on technologies that originated on the Internet and make use of such technologies as XML and HTTP as a means for representing software parts and linking together a number of different computer systems. In recent years, there has been an adoption of web services as the standards upon which to base Service Oriented Architecture. Software vendors such as web Methods have brought out on to the market a variety of products that have made SOA quite useful.

Granularity Why is SOA promoted at such a level of granularity? The answer is fourfold. 1. SOA tends to be considered in terms of web services. 2. Web services technology on the performance level is currently inappropriate at the lower levels of granularity. 3. Web services come from request and reply patterns; thus, they tend to be associated with command and control solutions. 4. EDA models are still not well known – people only look for solutions in more commonly known domains. It is an unfortunate fact that the command and control pattern is inappropriate at this level. SOA 2.0 can be a good idea in the middle layers of functional composition when it is based on synchronous web services. In those situations, the command and control type of interaction will typically be required, and may in fact be in good balance with the performance of web services

21


22

CARTOON

Of the Month

Acknowledgment! Hi Team, I thank each and every one of you for your valuable contribution. I am glad to say that without your sincere efforts this Newsletter wouldn’t have taken shape. This newsletter canvases our Monthly efforts and contribution to our Team and is a true indicator of Progress. Looking forward for your support. Hope we will do much more better in the upcoming editions of Newsletter. I value any input you may want to share and wish to emphasize that this needn’t be restricted to a single comment. If you have a particular interest or a specific topic on which you would care to voice your views, I invite you to contribute to RTSO Newsletter. Who knows? You may be seeing your name in print in the next issue. Please direct all comments and suggestions to: Satish_chennagoni@satyam.com

Warm Regards Satish Chennagoni


******************************************

DISCLAIMER

**************************************************

This document is for QEdge internal circulation presented by Satyam QEdge Regression Testing Service Offering Team. Though QEdge RTSO Team believes reasonable efforts have been made to ensure the accuracy of the information contained in the document, it may include inaccuracies or typographical errors and may be changed or updated without notice. *****************************************************************************************************************


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.