YOUR FEEDBACK
NGASI Releases AppServer Manager 8.1
Dave Jenkins wrote: The remote server management is a welcomed added feature...
SOA World Conference
Virtualization Conference
$200 Savings Expire May 16, 2008... – Register Today!


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TODAY'S TOP SOA & WEBSERVICES LINKS


Product Review: "MagooClient 2.1 XML Messaging Client"
A lean and mean client for XML-based business processes

Digg This!

When I first looked over MagooClient from Magoo Software, it was difficult to categorize. I expected that it would be another composite application builder, but that's not what I found. Instead I found a tool that not only allows users to interact with business processes, but that also becomes part of the business process itself. MagooClient can not only reach out and perform Web service requests, but it is designed to also be inserted in the path of XML messages.

XML Messaging Client
Magoo Software describes MagooClient as an XML messaging client. That is very fitting, since it has been modeled to operate in a fashion similar to an e-mail client. As you can see in Figure 1, the MagooClient main window looks very much like a stripped-down e-mail client. Users compose messages via forms that are constructed on the fly. The messages can hang around in the "drafts" folder until the user is ready to send them to a particular destination. Once sent, messages are moved to the "sent" folder.

The "inbox" is where inbound messages land. What types of messages would I expect to see here, you might ask. Well, the most obvious type would be responses to outbound synchronous Web service calls. More interesting though, is the fact that MagooClient can receive XML messages over various transports. It even has an embedded HTTP server and can listen for inbound XML messages. Users can inspect and edit these inbound messages and forward them on to other services.

Essentially MagooClient can initiate business processes by creating and sending XML messages to services. It can allow for review, validation, and editing of messages, and finally, it can route messages and perform exception handling.

Let's peel the onion and look deeper.

Message Types
MagooClient maintains a message type catalog. Although the software can display any XML as a form, the catalog enables it to support message creation, validation, and editing.

MagooClient provides a wizard that simplifies population of the catalog. It allows import of either XML Schema or WSDL directly from a file or over the network from an arbitrary URL.

The MagooClient uses its own proprietary XML Schema capability for efficiency, but allows validation against the Apache Xerces parser for comparison. The WSDL and schema support are excellent. I keep a few large WSDL and schema around from old projects that I typically use as litmus tests for new tools. They are valid, but have caused other tools to fail. I was able to import them without trouble into the software.

Note that message types need not necessarily exist in the catalog before message creation can occur. The software has a nifty feature that allows a message to be created from a WSDL or XML Schema on the fly. This process automatically populates the catalog.

Forms
MagooClient automatically renders forms from the XML content. There is no form design here; it's neither supported nor required. MagooClient does a beautiful job of creating a usable layout.

Figure 2 displays the message window. Note that the form is flat and arbitrarily long based on the size of the XML, but navigation is made possible by tree representation of the message, which is displayed in the navigation panel to the left of the window.

Clicking on nodes in the tree navigation panel scrolls the appropriate form section into view. Clicking on a field in the form causes the tree navigation panel to highlight the appropriate node. It is a nice clean way to move around and edit the document.

I have always been a fan of tightly typed schema definitions. These not only allow for much of the validation to be provided by the schema automatically, but also have the added benefit of supporting automated form engines such as MagooClient. MagooClient leverages the XML Schema information in order to render and validate forms. For example, enumerated values are presented as drop-down lists, value ranges as radio buttons or spinners, and input fields are sized from the schema accordingly.

It is one thing to create forms based on static structures, but XML Schema allows for variable message structure. The software allows for adding, removing, or replacing elements at any node in the tree where deemed valid by the schema. This is done by right clicking on a node in the tree navigation panel. A pop-up menu will list the valid schema types that can be inserted.

Transports
Remember earlier I stated that MagooClient can become part of the XML business process. It does this by supporting receipt and transmission of messages over a number of transport mechanisms. Transports map the ability to send and receive messages to a particular protocol or vendor implementation. This allows a message to be sent simultaneously using multiple transports to various destinations. Transports, just as message types, must be configured in the catalog. Currently the software supports HTTP, POP3/SMTP, and JMS as transports. The HTTP support is relatively straightforward, so I won't go into it here.

As mentioned earlier, the software was modeled on an e-mail application and although atypical, e-mail as a transport can be a practical, cost-effective form of store-and-forward XML messaging in some instances. The MagooClient can support multiple e-mail accounts simultaneously. The software can be configured to pull messages from the mail server upon request, or a polling interval can be configured in order to retrieve messages automatically. I was able to quickly route a set of messages through one of the many free Internet e-mail services and retrieve them again as a test.

MagooClient also supports transport over the Java Message Service (JMS). This allows the software to communicate with enterprise-class messaging providers. The MagooClient uses the asynchronous listener model to ensure that messages are received as soon as they arrive at the provider.

MagooClient provides a nifty transport monitor that can be launched from a menu. Figure 3 shows the monitor, which logs all communication to and from the application. This allows the user to view all of the low-level message details such as handshake, properties, and headers.

Scripting
Embedded within MagooClient is the Mozilla Rhino scripting engine. Rhino is an open source JavaScript implementation with extensions that add native XML support.

The software provides an integrated script editor with drag-and-drop capabilities from the tree panel of the message window. Scripts can create new messages, manipulate existing messages in the environment, call out to external Web services, and interact with the user via a built-in dialog object.

Essentially, scripts can be used as macros and invoked from a pop-up menu, as extended validation rules to check complex interfield relationships, or they can provide dynamic validation and population of form fields using external callouts. Also, message types can be configured so that scripts automatically run on receipt or when open.

Rules
MagooClient supports rules that can either route messages on to a destination or file the message in a particular folder. Rules are basically a fixed set of conditions that when satisfied, fire off the configured routing or filing operation. The conditions vary from matching on various addressing information to message type, validity, transport, and direction.

Conclusion
Magoo Software has leveraged a simple e-mail-style messaging model to deliver a product that is easy to learn and straightforward to use, yet still powerful. MagooClient XML support is excellent. The software's ability to support multiple transports and destinations, dynamically render forms, and apply scripts and routing rules makes this product worth a look. I definitely recommend that you check out MagooClient (see company info).

About Paul Maurer
Paul Maurer is a principal in the financial services practice of a leading consulting services company.

SYS-CON Australia News Desk wrote: When I first looked over MagooClient from Magoo Software, it was difficult to categorize. I expected that it would be another composite application builder, but that's not what I found. Instead I found a tool that not only allows users to interact with business processes, but that also becomes part of the business process itself. MagooClient can not only reach out and perform Web service requests, but it is designed to also be inserted in the path of XML messages.
read & respond »
XML JOURNAL LATEST STORIES . . .
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
Red Hat is a trusted open source provider. Red Hat offers enterprise customers a long-term plan for building infrastructures on the quality and innovation of open source. Combining open source operating system platform, Red Hat Enterprise Linux, together with applications, management
JustSystems Contributes Key XBRL Rendering Technology to Financial Community
JustSystems announced that it is contributing intellectual property rights for its invention of eXtensible Business Reporting Language (XBRL) rendering technologies to XBRL International, the standards body responsible for the oversight of the XBRL specification. The invention, known a
JustSystems Launches Campaign for XBRL Success
JustSystems announced its campaign to help organizations adopt XBRL (eXtensible Business Reporting Language), the XML-based standard for communicating financial and business information. In related news, JustSystems also announced that it has contributed intellectual property rights of
Virtualization Meets DaaS - Desktop-as-a-Service
After a $1.5 million angel round, Desktone, which was started in 2006 by Eric Pulier, who also started SOA Software, US Interactive and IVT, picked up $17 million in first-round funding about a year ago from Highland Capital Partners, SoftBank Capital, Citrix Systems and the China-base
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS


ADS BY GOOGLE
BREAKING XML NEWS
RCG IT Addresses BI and SOA Convergence and Business Architecture at TDWI World Conference in Chicago
RCG Information Technology, Inc. (http://www.rcgit.com/) will participate in The Data Wareho