| By Paul Maurer | Article Rating: |
|
| October 27, 2003 12:00 AM EST | Reads: |
13,321 |
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
There are two versions of Glue: Standard,
which is free but unsupported; and
Professional. Although Glue Standard
is unsupported by TME, there is an
interest group available on Yahoo! that
gives you access to the TME user community
at large.
Glue Professional comes with support
via TME's online issue tracker
and includes these high-end features:
Getting Started
You can download Glue from the TME Web
site. Installation was quick and simple. I was
pleasantly surprised to find that the installer
automatically set up my environment. I could
get down to running through the examples
without additional twiddling. This may seem
trivial, but you would be surprised how many
platforms require additional setup and configuration
(e.g., proper CLASSPATH setting) after
the installer has run.
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
Getting a service up and running in Glue is
incredibly easy. Any Java object can become a
service by simply publishing an instance of
the object to the Glue registry. There is no preprocessing
or configuration required.
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
Writing a Web service client using Glue is
also easy. Listing 2 shows a test client for the
Converter service. Line 11 binds to the service
and returns an object that implements the published interface. The service can now be treated as a standard Java object.
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
You may worry that a tool that provides such
a simple interface would not offer the power and
flexibility that a typical large enterprise would
need. Glue has more advanced features than
most would need.
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
Although Glue runs easily out of the box as
a stand-alone lightweight application server, it
can plug into any application server that supports
servlets. In this hosted mode, Glue can
expose any stateless session bean as a Web
service. The Users Guide provides instructions
for installing glue under BEA WebLogic,
WebSphere, and SunONE application servers.
If you're an IDE jockey you'll be happy to find plug-ins for JBuilder, Eclipse, and IDEA.
Conclusion
I was definitely happy with the speed at
which I could install Glue and get a scratch
Web service up and running. But I was really
impressed when I began to dig in and found a
depth of features I had not expected from a
platform that strived for simplicity. I've always
liked the adage, "Good tools make simple
tasks easy and complex tasks possible." I think
that adage sticks with Glue.
Company Info
The Mind Electric
15455 Dallas Parkway
Millenium Building, 6th Floor
Addison, TX 75001
Phone: (972) 764-5115
Fax: (972) 764-3215
Web: http://www.themindelectric.com
E-mail: info@themindelectric.com
Licensing Information
Developer License: $1000 per developer
Runtime License: $2000 per CPU
Testing Environment
OS: Windows XP Professional (Service Pack 1)
Hardware: Intel Pentium III – 996 MHz – 512 MB RAM
Published October 27, 2003 Reads 13,321
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Paul Maurer
Paul Maurer is a principal in the financial services practice of a leading consulting services company.
- Big Data in Telecom: The Need for Analytics
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- Amazon to Fix Some Kindle Fire Problems
- What Motivates Open Standards in the Cloud?
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- Ten Hot Trends in Cloud Data for 2012
- Oracle Disaster Recovery Site Hosted by Amazon Cloud
- Cross-Platform Mobile Website Development – a Tool Comparison
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- The Future of Cloud Computing: Industry Predictions for 2012
- Make Customer On-Boarding Easy as Paint-by-Numbers for Cloud Services
- Gartner Hype Cycle for Emerging Technologies 2011
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Big Data in Telecom: The Need for Analytics
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- Microsoft Tries Hadoop on Azure
- The Next Web Architecture
- Cloud Computing: A Comparison of Computing Models
- The i-Technology Right Stuff
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Get the Message
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- Five Reasons Why Web 2.0 Matters

















