SYS-CON MEDIA Authors: Elizabeth White, Liz McMillan, William Schmarzo, Yeshim Deniz, Jason Bloomberg

Related Topics: Microservices Expo

Microservices Expo: Article

Glue 4.1 from The Mind Electric

Glue 4.1 from The Mind Electric

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:

  • Turbocharged performance
  • Real-time management console
  • Web service instrumentation
  • EJB integration
  • Reliable/async messaging over JMS
  • LDAP authentication via JAAS
  • WS-security, including digital signatures and encryption
  • WS-routing
  • Remote deployment
  • Virtual services
  • IDE plug-ins

    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: [email protected]

    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

  • More Stories By Paul Maurer

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

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    Latest Stories
    Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, discussed how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galera MyS...
    In his general session at 21st Cloud Expo, Greg Dumas, Calligo’s Vice President and G.M. of US operations, discussed the new Global Data Protection Regulation and how Calligo can help business stay compliant in digitally globalized world. Greg Dumas is Calligo's Vice President and G.M. of US operations. Calligo is an established service provider that provides an innovative platform for trusted cloud solutions. Calligo’s customers are typically most concerned about GDPR compliance, application p...
    Growth hacking is common for startups to make unheard-of progress in building their business. Career Hacks can help Geek Girls and those who support them (yes, that's you too, Dad!) to excel in this typically male-dominated world. Get ready to learn the facts: Is there a bias against women in the tech / developer communities? Why are women 50% of the workforce, but hold only 24% of the STEM or IT positions? Some beginnings of what to do about it! In her Day 2 Keynote at 17th Cloud Expo, Sandy Ca...
    Two weeks ago (November 3-5), I attended the Cloud Expo Silicon Valley as a speaker, where I presented on the security and privacy due diligence requirements for cloud solutions. Cloud security is a topical issue for every CIO, CISO, and technology buyer. Decision-makers are always looking for insights on how to mitigate the security risks of implementing and using cloud solutions. Based on the presentation topics covered at the conference, as well as the general discussions heard between sessio...
    New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists examined how DevOps helps to meet the de...
    Fact: storage performance problems have only gotten more complicated, as applications not only have become largely virtualized, but also have moved to cloud-based infrastructures. Storage performance in virtualized environments isn’t just about IOPS anymore. Instead, you need to guarantee performance for individual VMs, helping applications maintain performance as the number of VMs continues to go up in real time. In his session at Cloud Expo, Dhiraj Sehgal, Product and Marketing at Tintri, sha...
    According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
    More and more companies are looking to microservices as an architectural pattern for breaking apart applications into more manageable pieces so that agile teams can deliver new features quicker and more effectively. What this pattern has done more than anything to date is spark organizational transformations, setting the foundation for future application development. In practice, however, there are a number of considerations to make that go beyond simply “build, ship, and run,” which changes how...
    In his session at 19th Cloud Expo, Claude Remillard, Principal Program Manager in Developer Division at Microsoft, contrasted how his team used config as code and immutable patterns for continuous delivery of microservices and apps to the cloud. He showed how the immutable patterns helps developers do away with most of the complexity of config as code-enabling scenarios such as rollback, zero downtime upgrades with far greater simplicity. He also demoed building immutable pipelines in the cloud ...
    In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, will provide an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life ...
    Smart Cities are here to stay, but for their promise to be delivered, the data they produce must not be put in new siloes. In his session at @ThingsExpo, Mathias Herberts, Co-founder and CTO of Cityzen Data, discussed the best practices that will ensure a successful smart city journey.
    A look across the tech landscape at the disruptive technologies that are increasing in prominence and speculate as to which will be most impactful for communications – namely, AI and Cloud Computing. In his session at 20th Cloud Expo, Curtis Peterson, VP of Operations at RingCentral, highlighted the current challenges of these transformative technologies and shared strategies for preparing your organization for these changes. This “view from the top” outlined the latest trends and developments i...
    When you focus on a journey from up-close, you look at your own technical and cultural history and how you changed it for the benefit of the customer. This was our starting point: too many integration issues, 13 SWP days and very long cycles. It was evident that in this fast-paced industry we could no longer afford this reality. We needed something that would take us beyond reducing the development lifecycles, CI and Agile methodologies. We made a fundamental difference, even changed our culture...
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    LogRocket helps product teams develop better experiences for users by recording videos of user sessions with logs and network data. It identifies UX problems and reveals the root cause of every bug. LogRocket presents impactful errors on a website, and how to reproduce it. With LogRocket, users can replay problems.