|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Product Review Glue 4.1 from The Mind Electric
Glue 4.1 from The Mind Electric
By: Paul Maurer
Oct. 27, 2003 12:00 AM
What do you do after you've cofounded a company that developed award-winning products for distributed computing, won a Young Entrepreneur of the Year award, and finished a book on Web services? If you're Graham Glass you start another company and continue pushing the envelope of distributed computing. The company is The Mind Electric (TME) and the envelope is one of simplicity. TME has tried to build a Web services platform with a simple conceptual model and an easy-to-understand API. It is working on a next-generation product they're calling a "Web services fabric" code named GAIA but this review focuses on their current platform, Glue 4.1. Today APIs are proliferating like rabbits and frameworks are getting larger and more complex. When I wear my developer hat, I prefer to work at the API level. It helps to promote an understanding of the mechanics of the system, but it gets harder and harder to keep up. Graphical tools, like wizards, can hide the complexity of large frameworks, but after the initial code-generation phase is done most of these tools are not useful or tend to get in the way. With the ever-increasing complexity of application servers, Glue takes a welcome step in the right direction, the direction of simplicity. If you're looking to put your toe in the water of Web services but recoil from the complexity of working with a full-blown J2EE application server, then Glue may be the product for you.
Flavors of Glue
Glue Professional comes with support
via TME's online issue tracker
and includes these high-end features:
Getting Started Glue comes with a full complement of API documentation in Javadoc format and a Users Guide. The installer also sets up links to the online TME interest group and issue tracker.
The Simplest of Services Listing 1 (the code is online at www.syscon.com/webservices/sourcec.com) shows a basic object called Converter that converts temperature in Fahrenheit to Celsius. It requires only two lines of code to expose this object as a Web service. Line 25 starts a Web server that accepts messages via the /glue path. Line 26 exports the object as a Web service. Other than the import statements at lines 4 and 5, that's all that's required. By default, Glue exports all public, static, and instance methods of the object. If I want to expose only a subset of the methods I can create a Java interface that defines the set of methods I choose to expose. The interface.class is published along with the object and Glue exports the methods of the interface. If I don't have control of the source code of the object, I can control method exposure by supplying a Context object that contains a list of method properties.
A Simple Client There are a few things in this example that need further explanation. The first parameter of the bind method is the URL of the WSDL for the Web service. To obtain the WSDL for the Web service I just need to append .wsdl to the service URL. Glue will generate the WSDL automatically from the interface and cache it for future use. The second argument of the bind is the class of the interface for the service. I didn't define an interface for my Web service, but Glue can generate one from the service definition with its wsdl2java tool. This example may seem overly simplistic but TME provides a large assortment of examples that exercise a wide range of Glue's features including support for .NET.
Advanced Features If you want to monitor or modify the message stream, Glue provides a feature called Interceptors. Interceptors are leveraged throughout Glue to provide advanced processing of SOAP headers and attachments. Glue supports SOAP over the Java Message Service (JMS). Both synchronous and asynchronous messaging styles are supported and services can be published simultaneously over JMS and HTTP. For those who insist on only using Java standard APIs, Glue provides implementations of JAX-RPC and JAXM. Hard-core techies can completely bypass the use of Java interfaces and Java/XML serialization. Glue provides the ability to directly create, invoke, and process raw SOAP messages. Finally, for high-volume systems Glue can reduce the size of SOAP messages by utilizing optimizations like tag substitution, envelope omission, and HREF inlining.
Interoperability If you're an IDE jockey you'll be happy to find plug-ins for JBuilder, Eclipse, and IDEA.
Conclusion
Company Info
Licensing Information
Testing Environment Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||