Intentional Software - Democratizing Software Creation
Business users doing programming? Simonyi and Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge.
Tracking change and innovation in the enterprise software development community
Posted by Boris Lublinsky on May 10, 2008 04:19 PM
Some of the Web services testing approaches were previously covered in an InfoQ post. They have been recently extended through usage of Web Services mocking.
Mock objects are very popular and common approach to a unit testing. According to Wikipedia
mock objects are simulated objects that mimic the behavior of real objects in controlled ways… mock objects can simulate the behavior of complex, real (non-mock) objects and are therefore useful when a real object is difficult or impossible to incorporate into a unit test. If an object has any of the following characteristics, it may be useful to use a mock object in its place:
- non-deterministic results (e.g. the current time or the current temperature);
- has states that are difficult to create or reproduce (e.g. a network error);
- is slow (e.g. a complete database, which would have to be initialized before the test);
- does not yet exist or may change behavior;
- would have to include information and methods exclusively for testing purposes (and not for its actual task)
Web services introduce additional situations where usage of mock approach can be very useful:
A new tutorial by Upul Godage describes how to use Apache Synapse to mock web services for development and testing. Apache Synapse is a simple, lightweight, high-performance enterprise service bus (ESB). Apache Synapse can be used to filter, transform, route, manipulate, and monitor SOAP, binary, XML, and plain text messages that can be delivered by HTTP, HTTPS, Java™ Message Service (JMS), Simple Mail Transfer Protocol (SMTP), Post Office Protocol Version 3 (POP3), FTP, file systems, and many other transport mediums.
Tutorial describes how Synapse can be used to define either fixed or controlled response from services using simple configuration XML files, defining transformation, building response for a given request (set of requests). It also describes approaches to mocking mediators using the same configurations – based approach.
Another approach to mocking of Web Services is usage of a newly released SOAPSimulator from Crosscheck Networks. Its functionality is similar to the one provided by Synapse, but with the following additional capabilities:
Crosscheck Networks also provides a comprehensive tutorial on the product usage.
As defined in Accelerate your SOA Projects through Service Simulation white paper
Intense time pressures to build and deploy services leaves very little room for error in meeting business goals set forth for SOA projects. With IT budgets under constant pressure, tight delivery deadlines, and the drive to integrate systems within and across trading partners, SOA projects need to introduce service simulation within their environments. Service simulation decouples consumers and producer dependencies and enables them to implement independently. Web Services mocking solutions provides a "reference system in-a-box" and eliminates the expense associated with building a full-scale replica of the production system for the benefit of developers.
SpringSource Launches New Application Server without Java EE
IBM Web 2.0 Developer eKit: Free Tutorials, Webcasts, Whitepapers
Snapshots from SOA Governance: Artifacts, People, Processes, Repositories
Create a photo album application with Project Zero and REST design principles
Use soapUI instead for mocking web services, it has far more features than SOAPSimulator, a huge user community (>70000 users) and is both free and open-source (LGPL licensed).
Check it out: http://www.soapui.org
Tutorial on mocking is at http://www.soapui.org/gettingstarted/mocking.html
Good Luck!
Business users doing programming? Simonyi and Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge.
Jason Rudolph discusses Java/Grails integration, Grails plugins, creating a Grails sample application, Grails app structure, data querying and persistence, validation, controllers and tag libraries.
The Scrum Product Owner role is powerful, valuable and challenging to implement. It brings healthier relationships between customers and developers, and competitive advantage - if you do it right.
Effective Java, Second Edition by Joshua Bloch is an updated version of the classic first edition, which won a 2001 Jolt Award. InfoQ asked Bloch questions about the areas that the new edition covers.
A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.
In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.
Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.
Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.
1 comment
Reply