Sneak Preview: Mindreef's Coral
Mindreef Coral can check a Web service's compliance with standards, capture diagnostic information in persistent workspaces and present a community support portal for end users.
February 10, 2006
Many tools can help you develop Web services, but few can help support that development. Mindreef Coral fills the gap by making it easy for an entire team on an SOA (service-oriented architecture) project to collaborate through a Coral server. At different phases in the development process, Coral can check that a Web service complies with both external and internal standards. It also performs ad hoc and scripted regression testing, captures diagnostic information in persistent workspaces for later analysis, and even presents a community support portal for end users.
I installed Coral on a Windows 2003 Server. I created a new Coral workspace in the dedicated browser client and added a WSDL contract from the Internet. Like Mindreef's earlier SOAPscope product, Coral uses workspaces to organize all information and artifacts associated with a particular SOA project, including contracts and documentation, messages and test scripts, simulations and notes. Because it's designed for development rather than deployment, though, Coral doesn't provide any registry functions.
Good • Supports team-oriented SOA projects • Enforces industry and corporate standards• Flexible ad hoc and scripted testing tools Bad• Lacks version control for workspaces• No direct integration with development tools• No integration with existing user directories Mindreef Coral, $998 per year for server and two user licenses. Mindreef, (603) 465-2204. www.mindreef.com |
Mindreef Coral: Team members can use server simulations to demonstrate the expected behavior of the Web service they're building. Click to enlarge in another window |
Getting the Work OutWorkspaces are persistent and can be private or shared. You also can store workspaces in a community area, which is public and advertised through an RSS feed. This can be useful if your organization has many SOA initiatives under way and you want to publicize new pieces as they are developed. Workspaces also can be exported to files, but given their importance as a repository for development information, it would be nice if Mindreef incorporated an explicit version-control interface in a future release.
One of the important tasks when you're building up an SOA is setting corporate standards. Coral makes it easy for you to take the next step of enforcing these standards, whether you want to adhere to the WS-I (Web Services Interoperability) Basic Profile (which is built in) or to your own corporate rules. With a few mouse clicks I got back a report telling me that my WSDL contract was largely in compliance with WS-I.
With problem areas highlighted, another two mouse clicks took me directly to the offending section of the WSDL. Creating your own rules requires knowing XPath and JavaScript. Once you've created rules, they're easy to share across workspaces and Coral servers.
Testing and Teamwork
Coral's testing facilities are flexible. You can view requests and responses independently as pseudocode, raw XML, color-coded XML, or in a tree view of elements and attributes. Coral also lets you record every bit of ad hoc testing as a permanent part of your workspace, making it simple to build regression scripts and even multistep scripts. Beyond that, you can build variables into your scripts for increased flexibility at runtime.Additionally, there's capability here that I haven't seen elsewhere: You can simulate a Web service server in Coral by building a series of "reactions." Each reaction is a request-response pair that represents how the Web service would respond to some input if it actually existed. Thus a designer can show what's going to be built to the rest of the team in advance of the code being written, and QA can start writing tests before coding is done.
If you're facing a problem with a portion of your architecture after deployment, Coral lets your tester create a shared workspace populated with problem messages, contracts and other relevant artifacts that can be passed around to developers and support engineers.
Mindreef also supplies an independent Collector service that intercepts and records SOAP traffic on the server and forwards it back to your Coral server, where it can be integrated into a workspace for further analysis. This provides a relatively nonintrusive way to work with problems on a production server.
Coral Management
Coral runs as a standalone Web application on its own embedded Tomcat server. You can't host it on any other server. Persistent data is stored in a Microsoft SQL Server 2000 Desktop Engine (MSDE) database by default. If you have more than a handful of users, you'll want to upgrade this to a full SQL Server database (and you'll need to consider the SQL Server licensing fees when looking at the tool's ROI). The Tomcat server shouldn't need maintenance, but you'll want to back up the database just like any other critical data.Coral maintains its own list of users, which you can manage through a section of the Web interface. Regular users and administrators aren't integrated with LDAP or Active Directory. You won't get any single sign-on or synchronization with an existing list of users here. If you need to audit Coral server usage, you can run Web-based accounting reports from within the product's interface, but you can't customize them beyond selecting a date range.
Overall, Coral is a pleasure to work with. But it's important to realize it's a support tool for your SOA effort, not the only tool you'll need. The WSDL contracts and Web Services you work with in Coral must be built with your Web Services' toolkit of choice. Coral will support a mature SOA process if you've got the discipline to use it across the entire lifecycle of your software.
Mike Gunderloy is senior technology partner at Adaptive Strategy. Write to him at [email protected].
You May Also Like