Microservices Expo Authors: Derek Weeks, Elizabeth White, Gopala Krishna Behara, Sridhar Chalasani, Tirumala Khandrika

Related Topics: Microservices Expo

Microservices Expo: Article

Web Services @ Work:Gluing Web Servicesto Baan

Web Services @ Work:Gluing Web Servicesto Baan

Web services is often spoken of as a future technology, yet it's important to understand that Web services is already proving to be a key component of the products and projects of today.

In this article I examine how Web services has become an enabling piece of Epic Data's Connectware for Baan toolkit, which is designed to easily connect wireless devices and other clients to the Baan warehousing and manufacturing ERP modules. I then study the requirements and realities that led Epic Data to select Web services over competing technologies. Additionally, I examine the reasons why Epic selected The Mind Electric's GLUE as their Web services foundation. In summary, I hope to show that even though their role will grow in the future, Web services is at work for developers today.

Before I start, it's also worth noting that this is not meant to be a detailed technical study of a Web service architecture. There are no code samples, and concepts are discussed at a fairly high level. This seems appropriate as the article is intended to be an example of a Web service success and not an instructive how-to for building technology. Developers might use this and similar articles to convince technical managers to adopt or champion Web services within their organization. More technical questions can be forwarded directly to me.

Introduction to Epic Data
Epic Data is a products and consulting company that delivers solutions in the supply chain, wireless, warehousing, fulfillment, and ERP markets. Many of their solutions focus on wireless connectivity and data capture for large ERP systems such as Baan, SAP, and Oracle. These solutions have been used in over 2,000 installations worldwide and support many Fortune 1,000 businesses.

Introduction to Connectware for Baan
Connectware for Baan (CFB) is a well-established, industry-leading product that connects wireless devices (primarily bar-code readers) to the Baan ERP system. CFB is Epic's leading connectivity product and critical to the company's success. CFB's primary responsibilities are:

  • Warehouse management
  • Production reporting
  • Label generation
An example and common use of CFB is the acceleration of receiving goods into a warehouse by the automatic assignment of serial numbers to incoming goods, the generation of appropriate labels, and the suggestion of efficient storage locations. The product acts as the middleware that ties together the barcode reader, label printer, and underlying ERP system. This process saves valuable time and reduces human error (see Figure 1).

Until recently, CFB was implemented as a set of Perl and C programs that managed all of the interactions between the client devices and Baan. This branch of the CFB solution has a broad install base of customers and a strong history of success. It's critical that any future versions of the CFB product line offer a smooth upgrade path.

In early 2000 Epic Data began work on a new version of the CFB product line designed around the following goals:

  • Cross-platform services: The middleware solution would need to be easily ported/supported across the various flavors of Windows and Unix popular with Epic's customers.
  • Cross-language clients: Because Epic data deploys these solutions in many heterogeneous environments, they're often charged with integrating the product into other systems written in various development languages. Epic wanted to support integration with popular development environments in a cost-effective and reliable manner.
  • Cross-Baan support: Versions 4.X and 5.X of the Baan ERP suite are widely used and supported. This makes it necessary for Epic to support both versions of the product. Epic wanted a product which both insulated the client developer from the differences found in these two versions but also provided access to version-specific features at a lower level.
  • Standards-based: Epic Data decided to make a firm commitment to supporting open standards to reduce development, support, and integration costs and increase customer and partner prospects.
  • Backwards compatibility: Because of Epic's significant customer/install base, it was essential that any new solution could seamlessly support the existing clients without disruption.
Eric Fritz, Epic Data's director of Baan product development, describes the need for greater product flexibility, saying:
"Our customers typically don't care what technology we use, but they do care about how much our solution may restrict them from making other business decisions. Yesterday if a customer told us they were going to move their servers from Unix to an AS400 we would have to undertake a major project to migrate their solution, and as we all know that means money out of their bottom line. Today, we can say 'No problem.' The same holds true for the version of Baan and the tools that they want us to use. It's all about the freedom to choose.
While the list of goals was much more extensive than what we have discussed, the above requirements are the ones that most impacted the product architecture.

The Selected Architecture
Epic Data made the decision that the core of the next generation Connectware for Baan product would be written in Java and that this functionality would be exposed as Web services. An architectural overview is shown in Figure 2.

Java was selected because it easily satisfied the cross-platform requirements and it also represented a significant commitment to open standards. Epic Data also leveraged Java's interface features and design by contract to expose cross-version features in a generic manner. The selection of Java, however, did not meet all of the above criteria.

To achieve integration with clients across multiple languages and facilitate backwards compatibility with legacy Perl and C code, Epic Data turned to Web services defined as WSDL, SOAP, and XML. CORBA was also considered as a possible solution but was determined to be overly complex and expensive to implement. SOAP was selected over other XML-based Web services because of the incredibly strong industry support that the standards are receiving in popular development languages like Visual Basic, Perl, C, C++, and Java.

Finally, it was the possibility of meaningful backwards compatibility that sealed the Web services/SOAP selection. Epic Data decided that they would create a Perl Legacy Adaptor to interface existing Connectware for Baan implementations with the new service. This Perl layer "intercepts" requests intended for the legacy back end and routes them to the new service via SOAP (see Figure 3).

GLUE: A Web Services Platform
Upon selecting Web services as a key part of their solution, Epic Data then had to select a Web services platform to enable their code. Ultimately, Epic selected The Mind Electric's GLUE. The Mind Electric describes GLUE :

"GLUE is 100% Java and has a rich set of features including an embedded Web server, servlet engine, SOAP processor, XML parser, graphical console, dynamic WSDL generator, dynamic Java/XML mapping, UDDI client, UDDI server, WAP support, and XML persistent storage system."
A recent review of GLUE in Information Week by Jason Levitt noted that GLUE's purpose was to bring the same simplicity seen in .NET to Java developers. GLUE succeeds by offering a high degree of Web services functionality combined with incredible ease of use. Epic Data selected GLUE for the following reasons:
  • Relative maturity: At the time of selection, GLUE had a very competent implementation of SOAP 1.1 and great support for WSDL. GLUE also had an expressive implementation of UDDI's Publish and Inquiry functionality.
  • Rapid advancement: TME's pace of development for GLUE would be rapid for a large company, let alone a typically understaffed startup. Releases are frequent and bugs are quickly reported on the product's mailing list and confirmed/fixed by TME staff.
  • Ease of use: Both publishing and subscribing to Web services is made easy with GLUE. In both situations GLUE dynamically creates the necessary classes leaving the developer free from excessive hand-coding or messy code generation tools.
  • Speed: GLUE was much faster than many of its competitors. TME has stated that this is mainly a result of using TME's proprietary XML parser and toolkit ElectricXML.
  • Low vendor lock-in: The use of GLUE is nearly transparent on both the client and server sides. Epic Data estimates that less than 1% of the project code knows anything about GLUE or SOAP.
Jonathan Barksdale, software engineer at Epic Data, describes his experience with GLUE:
"I initially implemented and tested my would-be server methods locally. Then I added GLUE to the mix in a matter of minutes using only a few lines of additional source code. I can't believe the ease with which my formerly local application methods were working as distributed, standard Web services."
While maturity, rapid product advancement, ease of use, and speed were all strong factors in its selection, the almost non-existent vendor lock-in made the final difference. GLUE, aptly named, binds cross-language ponents together and leaves a minimum of technical residue. For Epic Data to switch from GLUE to another Web services platform, there will be very little code investment to throw away. Essentially, the only thing Epic would need to do is the total amount of work required by the new solution. This all suggests a high degree of confidence by TME that GLUE will continue to be used on its own merits rather than maintained because it's painful and expensive to remove.

Epic Data, with a significant history of success in the Baan connectivity space, has made a significant commitment to Web services and to open standards. This investment was made not to satisfy a need for market hype but rather because these commitments offered tangible technical and cost benefits over alternative solutions. By using Web services combined with Java on the server side, Epic Data was able to build a solution that was portable across languages, platforms, and versions of Baan. Additionally, we saw Web services empower Epic to select a new development language and environment while preserving backwards compatibility.

Through the selection of GLUE, Epic ensured that Connectware for Baan's Web services were standards-compliant, high-performance, and on the leading edge of development in this new market. GLUE's lack of heavy coding requirements made it especially attractive, as Epic did not feel it was headed toward irreversible vendor lock- in. As CFB evolves, Web services are sure to remain a critical component of the overall architecture.

Web services is at work in a quiet but pervasive way across the computing industry. Epic's focus on these technologies is cutting-edge but certainly not unique. Web service-oriented architectures are being sketched on white boards around the world and have already made their way into a first wave of products and projects. While many of the underlying technologies are new, Web services already provide a better solution, in many cases, for cross-platform and cross-language computing than preceding technologies and standards. Web services is hard at work today and this trend shows every sign of increasing.

More Stories By Michael A. Sick

Michael Sick is the Founder and President of Serene Software, a Jacksonville, Florida firm specializing in Enterprise Architecture (EA) via IT Strategy, IT Governance, IT Budgeting, Service Oriented Architectures (SOA), and IT Legacy Planning services. With over 15 years of experience, he has served as VP Development, Enterprise Architect and Lead Software Architect, while providing expertise to organizations like BAE, Sun Microsystems, Badcock Furniture, Raytheon (Future Combat Systems), the United States Air Force, USDA, BearingPoint, and other firms. Areas of interest include: SOA, IT budget optimization and planning, cloud and distributed computing, and process optimization.

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.

@MicroservicesExpo Stories
Some people are directors, managers, and administrators. Others are disrupters. Eddie Webb (@edwardawebb) is an IT Disrupter for Software Development Platforms at Liberty Mutual and was a presenter at the 2016 All Day DevOps conference. His talk, Organically DevOps: Building Quality and Security into the Software Supply Chain at Liberty Mutual, looked at Liberty Mutual's transformation to Continuous Integration, Continuous Delivery, and DevOps. For a large, heavily regulated industry, this task...
DevOps promotes continuous improvement through a culture of collaboration. But in real terms, how do you: Integrate activities across diverse teams and services? Make objective decisions with system-wide visibility? Use feedback loops to enable learning and improvement? With technology insights and real-world examples, in his general session at @DevOpsSummit, at 21st Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, explored how leading organizations use data-driven DevOps to clos...
The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Microservices being modular these are faster to change and enables an evolutionary architecture where systems can change, as the business needs change. Microservices can scale elastically and by being service oriented can enable APIs natively. Microservices also reduce implementation and release cycle time and enables continuous delivery. This paper provides a logical overview of the Mi...
The notion of improving operational efficiency is conspicuously absent from the healthcare debate - neither Obamacare nor the newly proposed GOP plan discusses the impact that a step-function improvement in efficiency could have on access to healthcare (through more capacity), quality of healthcare services (through reduced wait times for patients) or cost (through better utilization of scarce, expensive assets).
Our work, both with clients and with tools, has lead us to wonder how it is that organizations are handling compliance issues in the cloud. The big cloud vendors offer compliance for their infrastructure, but the shared responsibility model requires that you take certain steps to meet compliance requirements. Which lead us to start poking around a little more. We wanted to get a picture of what was available, and how it was being used. There is a lot of fluidity in this space, as in all things c...
Gone are the days when application development was the daunting task of the highly skilled developers backed with strong IT skills, low code application development has democratized app development and empowered a new generation of citizen developers. There was a time when app development was in the domain of people with complex coding and technical skills. We called these people by various names like programmers, coders, techies, and they usually worked in a world oblivious of the everyday pri...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applications. This transformation also implies an evolution to more and more intelligent applications to better engage with the customers, while creating significant market differentiators. In both cases, the cloud has become a key enabler to embrace this digital revolution. So, moving to the cloud is no longer the question; the new questions are HOW and WHEN. To make this equation even more complex, most ...
Some journey to cloud on a mission, others, a deadline. Change management is useful when migrating to public, private or hybrid cloud environments in either case. For most, stakeholder engagement peaks during the planning and post migration phases of a project. Legacy engagements are fairly direct: projects follow a linear progression of activities (the “waterfall” approach) – change managers and application coders work from the same functional and technical requirements. Enablement and develo...
Admiral Calcote - also known as Lee Calcote (@lcalcote) or the Ginger Geek to his friends - gave a presentation entitled Characterizing and Contrasting Container Orchestrators at the 2016 All Day DevOps conference. Okay, he isn't really an admiral - nor does anyone call him that - but he used the title admiral to describe what container orchestrators do, relating it to an admiral directing a fleet of container ships. You could also say that they are like the conductor of an orchestra, directing...
The past few years have brought a sea change in the way applications are architected, developed, and consumed—increasing both the complexity of testing and the business impact of software failures. How can software testing professionals keep pace with modern application delivery, given the trends that impact both architectures (cloud, microservices, and APIs) and processes (DevOps, agile, and continuous delivery)? This is where continuous testing comes in. D
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an optimal end user experience over hybrid-cloud and multi-cloud environments, no matter what the current state of the infrastructure is. To employ a delivery automation strategy that reflects your business rules, making r...
Gaining visibility in today’s sprawling cloud infrastructure is complex and laborious, involving drilling down into tools offered by various cloud services providers. Enterprise IT organizations need smarter and effective tools at their disposal in order to address this pertinent problem. Gaining a 360 - degree view of the cloud costs requires collection and analysis of the cost data across all cloud infrastructures used inside an enterprise.
SYS-CON Events announced today that Synametrics Technologies will exhibit at SYS-CON's 22nd International Cloud Expo®, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Synametrics Technologies is a privately held company based in Plainsboro, New Jersey that has been providing solutions for the developer community since 1997. Based on the success of its initial product offerings such as WinSQL, Xeams, SynaMan and Syncrify, Synametrics continues to create and hone in...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex ...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a way that makes the public cloud a non-starter. You’re looking at private cloud solutions based on hyperconverged infrastructure, but you’re concerned with the limits inherent in those technologies.
For DevOps teams, the concepts behind service-oriented architecture (SOA) are nothing new. A style of software design initially made popular in the 1990s, SOA was an alternative to a monolithic application; essentially a collection of coarse-grained components that communicated with each other. Communication would involve either simple data passing or two or more services coordinating some activity. SOA served as a valid approach to solving many architectural problems faced by businesses, as app...
Many IT organizations have come to learn that leveraging cloud infrastructure is not just unavoidable, it’s one of the most effective paths for IT organizations to become more responsive to business needs. Yet with the cloud comes new challenges, including minimizing downtime, decreasing the cost of operations, and preventing employee burnout to name a few. As companies migrate their processes and procedures to their new reality of a cloud-based infrastructure, an incident management solution...
Cloud Governance means many things to many people. Heck, just the word cloud means different things depending on who you are talking to. While definitions can vary, controlling access to cloud resources is invariably a central piece of any governance program. Enterprise cloud computing has transformed IT. Cloud computing decreases time-to-market, improves agility by allowing businesses to adapt quickly to changing market demands, and, ultimately, drives down costs.
Recent survey done across top 500 fortune companies shows almost 70% of the CIO have either heard about IAC from their infrastructure head or they are on their way to implement IAC. Yet if you look under the hood while some level of automation has been done, most of the infrastructure is still managed in much tradition/legacy way. So, what is Infrastructure as Code? how do you determine if your IT infrastructure is truly automated?