Wednesday, January 21, 2015

Chapter 3 - Sidekick Sam serves SOA

By Gerhard Greeff, MES/MOM Proponent and Facilitator, MESA GEP Contributor and Trainer, Chairman - MESA Southern Africa

Sidekick Sam is fighting an extruder gone wild. Every time he thinks he has it under control, the extruder retaliates with a new surprise. Sam misses Captain Packer. They work so well together as a team, but sometimes a sidekick has to handle things himself, especially when the superhero has more important things to do. Finally, with a back sore from bending over and hands all sweaty from his protective gloves, Sam manages to get the extruder to behave. On his way to the change-room he is intercepted by one of the operators. “Here you are! I have been looking for you all over. Capt…I mean, Mr Packer wants you to come to his office immediately sir.” He says with a goofy expression, “It sounded quite urgent.”

As Sam steps into Peter’s office he recognizes Robert Butler, the company Finance and Administration manager. “Are we in financial trouble?” he asks. “I knew we should not have accepted that new product line. We just don’t have the capacity to take on new products. I told you our people……..” Sam’s tirade falters when he sees the expression on Peter’s face. Peter is shaking his head with a smile on his face. Glancing at Robert he recognizes the amused glint in his eyes that is the only signal of emotion ever to cross his dead-pan face. “No Sam” says Peter, “We are actually doing quite well.” Sam feels relief flood his system. “So what is Bob doing here?” he asks.

Bob Butler, popularly known as Butler Bob by the employees, is the guy that keeps the office running. His emotionless face, upright bearing and the way he carries his files in both hands like a tray in front of him all contributed to his nickname. In addition, no superhero and sidekick can operate effectively if they don’t have a trusty butler to keep their house in order.

“Actually, Bob is here as result of something you said the other night” says Peter. “Bob and I were discussing your automation hobby-horse, and by golly, he mentions “SOA”, just like you did last time.” Sam is dumb-struck. “SOA, what do you know about Service Oriented Architecture Bob?” asks Sam. “I thought I was the only one around interested in systems?” Bob looks down his nose at Sam. “I may only be a lowly Butler, but I do know a bit about systems Sam. You are not the only one interested in progress you know. We did implement a new ERP system a couple of years ago remember?”

Just thinking about it irritates Sam immediately. “I remember, that didn’t go that well for us all did it? All that disruption, and new procedures, and people not knowing what to do. Yeah, I remember.” Unfazed, as if unaware of the hidden criticism, Bob continues “Well, while we had all those people running around, one of them suggested we investigate and implement a SOA. I only mentioned that to Peter and he called you in.”

“So Bob, tell us about SOA” says Peter. Bob suddenly looks uncomfortable, sending a shiver of anticipation down Sam’s spine. He does not often see Bob uncomfortable, or see him show any emotion at all, for that matter. “Well” says Bob, “I would prefer to have an expert explain….” Peter laughs, “Bob, don’t tell me you don’t know?” Bob almost looks hurt, “Well, you did not seem to be interested at the time, so I did not pursue it Peter. I don’t quite understand it myself, but maybe Sam can shed some light, seeing as he thinks it is something we can use?” Both Bob and Peter look at Sam expectantly.

“I’m no expert” says Sam, “but as far as I understand it, SOA is a methodology for systems development and integration where functionality is grouped around business processes and packaged as interoperable services.” Peter hold up his hands. “Whao Sam” he says, “you sound like a textbook. I didn’t understand any of that. Put it in plain language please.”

“Ok” says Sam, “to put it in plain language. It is like our equipment spares stockroom.” Peter jumps up and Bob takes an involuntary step back. “What? I thought we were talking software stuff. What does our stockroom have to do with anything?” Sam smiles indulgently. “Now now Peter, if you give me chance to explain it will all become clear.” Peter nods and sits down again, Bob relaxes. “We are talking about software services” Sam continues. “We decide what we keep in our stockroom. We can either keep the separate parts, or we can keep the completed piece of equipment. We decided a while ago for instance to standardise on design of our new equipment and the spares we keep.” “Yes” Bob interrupts, “and it did save us on the amount of cash tied up in spares.”

Sam gives an exasperated sigh. “Please Bob, let’s get back to the point. SOA is like our stockroom in that it is a number of services (spares) that can be used in a number of ways within business processes (machines). They are separate, but loosely connected, as they can be used in combination to build a complete machine. The software services in a SOA are the same. Each is a piece of software built for a specific function. It can be used in combination with other pieces to enable a process. This can be communication between systems or interaction with users. “

“I get it” interjects Peter, “the size and complexity of the piece of software depends on the specific and unique function required. Just like we for instance keep a complete pump in stock, but we also keep nuts and bolts. It depends what you want to use it for! My question to you is, how does the one piece of software know where the others fit in? In the stockroom, we know what a bolt is and where it fits. How can a piece of software know that?” Peter sits back with a satisfied smirk on his face. “Take that” he thinks.

Sam looks at him with a sad expression on his face. “Each piece of software” he says with a slow shake of his head, “has some information exposed to other software that identifies it and its function. Like in our stockroom, where we have the stock bins that identifies the nuts and bolts. And for the pumps we have the identity plates that identify the operating parameters. We only see the pump and how it operates on the outside, but the mechanics are all hidden inside and not exposed for all to see. Like the pumps, the software is the same. Some parts are exposed so that other services can recognize it and know what it does, but the “how” of the code is hidden. These services can then be called over a network to do a specific job, given a set of parameters. This eliminates the need for duplicate services between applications. Just like Bob’s spares. No more duplication.”

Sam looks at Bob and Peter expectantly. Bob looks dead-pan as always, but Peter looks as if he is deep in thought. He shakes his head slowly and focuses on Sam. “I think I get it” he says “but I think I have some reading to do. In the mean time Sam, I want you to work on an automation plan with Bob. Now get out of here you two, I have to think.”

Look out for the next edition of this continuing saga of Captain Packer and trusty sidekick Sam.

No comments: