DDS, OPC UA, WIS, oh my! In Episode 13 of the Connext Podcast, we talk to Fernando Garcia about integration technologies and defining open standards. You'll learn about some of the standards we are helping to develop, specifically those that ease software integration.
In Episode 13 of The Connext Podcast:
- [1:30] Web Integration Service (WIS) - Making a web application a first class DDS citizen
- [3:40] Where to go to learn more about WIS
- [4:15] The DDS/OPC UA Gateway - bridging two of the most important IIoT technologies = Interoperability!
- [6:30] Why standards aren’t enough for ensuring interoperability, AKA why the gateway is such a good solution
- [7:40] The Gateway - what’s happening with it right now?
- [8:40] Why we’re building everything on top of Routing Service
- [10:50] The experience of working with leaders from other industries to write specifications
- [12:00] What is the OMG?
- [13:25] Other things he’s working on, including a DDS Syntax for XML
- [14:40] Some words on RTI Culture
- [16:38] What is DDS?
- [17:55] ELI5 - What is DDS?
- [GitHub] The RTI Community GitHub
- [RTI Labs] Easy Experimentation and Rapid Deployment of DDS Test Applications with Connector LibrariesPod
Lacey Trebaol: Hi everyone and welcome to Episode 13 of The Connext podcast. I'm Lacey Trebaol and I'm here today with my co-host Niheer Patel.
Lacey Trebaol: Today we're going to be speaking with Fernando Garcia, senior software engineer at RTI. Fernando focuses on projects that involve integrating RTI Connext DDS with different technologies such as web services and cloud computing, and also improving usability in the out-of-the-box experience of different RTI products. Fernando also helps RTI influence and strengthen the DDS specification as an RTI representative to the OMG. He is currently working on several OMG specifications, including a DDS/OPC UA gateway and a unified XML syntax to represent DDS resources.
Lacey Trebaol: Wow. Keeping busy.
Fernando Garcia: Yeah. Barely sleep.
Lacey Trebaol: So welcome to the podcast.
Fernando Garcia: Thank you.
Lacey Trebaol: So tell us a little more about that. That's quite the list.
Fernando Garcia: Yeah. I mean, every day it's a challenge and you come here to work and there's always something new and you try to make it the best that you can. And that's what I do. I mean, it's not special or anything like everyone at RTI works really hard and yet I am the person here.
Lacey Trebaol: Who works very hard.
Fernando Garcia: Yeah.
Lacey Trebaol: Okay, so we're gonna be talking about a few things today and I thought we'd kick it off with discussing web-integration service. So could you tell us a little bit about what that is and what exactly it does and where someone could go to find out more about it?
[1:30] Web Integration Service (WIS) - Making a web application a first class DDS citizen
Fernando Garcia: Okay, so integration service, in a nutshell, is restful API to DDS. So basically it enables web applications and applications that are everything in languages where we don't have an API for, to communicate with DDS applications using a really simple rest interface. And that is really powerful because, for instance, you can have, in the browser, you can have an application that displays DDS data and you don't have to program with DDS. You can just do simple get and browse your data and participate just like any other DDS application with web technologies.
Lacey Trebaol: That's pretty cool.
Niheer Patel: Yeah, so, really expanding into web applications and I think the way you described it, at another point to me, is basically making a web application a first-class DDS citizen.
Fernando Garcia: Exactly.
Niheer Patel: I think that's a great description. Just making it another DDS participant. No skin off anyone's nose to try to incorporate that into a DDS system.
Fernando Garcia: Also, because the web integration service is gonna keep your state, is gonna maintain the state of your entity so you can just go and read whenever you want and you don't have to care about any state which makes a good thing, too, for applications and really are ... Disconnected clients. Let's say that you have an application that is running for a long time and then it only writes now and then. Because the web integration service is going to keep that state, you could just write whenever you want and send that data. Then the web integration service, would take care of maintaining the DDS state for you.
Niheer Patel: Kind of this concept of concurrency set up, where your web application is always up to date.
Fernando Garcia: Mm-hmm
Niheer Patel: Nice.
Lacey Trebaol: For a web application.
Niheer Patel: Yeah.
Lacey Trebaol: That's different.
Niheer Patel: We can let web applications play in the embedded space, a little bit.
[3:40] Where to go to learn more about WIS
Lacey Trebaol: Yeah, apparently. So if I was a user, and I wanted to learn more about web integration service. Where would I go?
Fernando Garcia: We have documentation available, and some manuals and tutorials, on the community portal. We also maintain a repository with Source-Connect. Samples on our GitHub account.
Lacey Trebaol: What's our GitHub account?
Fernando Garcia: GitHub.com/rticommunity
Lacey Trebaol: Yay. RTI Community.
Lacey Trebaol: Awesome.
Niheer Patel: More free code for customers
Lacey Trebaol: More free examples.
Niheer Patel: Free stuff.
Fernando Garcia: Oh yeah. There's tons of code there. Examples and other leads regarding web integration service ... Regarding any of the features that we support.
Lacey Trebaol: Yup. We're nothing, if not generous. Alright, so, next up we have OPC UA Gateway. What is that? Where are we involved in that.
[4:15] The DDS/OPC UA Gateway - bridging two of the most important IIoT technologies = Interoperability!
Fernando Garcia: We are really involved in the industrial internet of things, and there are many connectivity frameworks that are important, in that context. The IIC just recently published a connectivity framework reference architecture that mentions some of the core connectivity frameworks of the Industrial Internet of Things. One of them, of course, is DDS. The other most important is OPC UA. So what we're trying to do is to build a bridge between these two technologies to make it possible for applications that are either reading in DDS or in OPC UA, to inter-operate in a seamless way. That is going to make possible many scenarios that before weren't possible. Basically because we provide interoperability, we can make applications work together for real.
Lacey Trebaol: Right. So the data from one and the data from the other, actually can be used together.
Fernando Garcia: Exactly.
Lacey Trebaol: To produce outcomes that before could not have been realized because it's not just simple integration.
Fernando Garcia: Exactly.
Niheer Patel: So, going to your reference to the connectivity framework, and the reference architecture. DDS is great for softer integration and autonomy. OPC UA would really be more for device interchangeability, on the manufacturing side of things. So what you're saying here is now we have these two, very critical frameworks for different use cases that can now speak together. Now you are effectively bringing softer integration and autonomy to these device interchangeability use cases.
Fernando Garcia: Exactly.
Niheer Patel: That is impressive.
[6:30] Why standards aren’t enough for ensuring interoperability, AKA why the gateway is such a good solution
Fernando Garcia: Yeah. It's basically making, we're trying to realize the Industrial Internet of Things right? One of the things that ... In this reference architectures mention is that there is a real need for gateways that make possible the applications that are using some connectivity framework can communicate with applications that are using another one. One example would be this OPC UA/ DDS gateway. Another example would be the web integration service itself because it's making a bridge between web services based applications and DDS applications.
Lacey Trebaol: One thing I think is actually kind of neat about this is, I feel like five years ago we were so focused on standards. Right? But standards, just you know adhering to a standard or building a system that, conforms to a standard is not enough to ensure interoperability, at all. But now by doing things, like the gateways, that's such. I mean I feel like that's a much bigger step towards that goal. It's just ... You're saying like "Hey, you chose OPC UA for what you did because that is the best standard." For what they do. You know, DDS is some of those use cases, it might not have been the best decision. Then this other person over here chose DDS because it was the absolute best standard for them to use. Now they can use a gateway and they can keep their best of breed, keep their standards. Which you know, standards are still really important. But by embracing the concept of gateways, on standardizing those gateways and creating true specifications for those gateways. That they can realize all those benefits and actually have interoperability.
Niheer Patel: Can we dig into the gateway itself? I mean, is this something that you build from scratch?
[7:40] The Gateway - what’s happening with it right now?
Lacey Trebaol: It's a spec right?
Fernando Garcia: So, at this point, we are working on the ...Well there are two things. We're working right now on writing the specifications. So we are going to make this gateway a standard and that's happening in the context of the 'Object Management Group", OMG. Also, at the same time that we're developing the spec, we're implementing prototypes to makes sure what we're doing, works. And actually makes these frameworks interoperate. Right?
Niheer Patel: Yeah and like you were saying, it's critical to have it as a specification or standard that now everyone can go and see. See how it should be used. If they chose to do their implementation, great. If they come to RTI, even better. In our particular case. When we look at our implementation of the OPC UA bridge or gateway, what are some of the technologies that went in for you to build this? Did you ... working from the specification and going back and forth, but ...
Lacey Trebaol: Did you start from scratch?
[8:40] Why we’re building everything on top of Routing Service
Fernando Garcia: Oh no, we're building everything on top of routing service. So basically, here at RTI we have great software to build bridges. This is definitely not the first bridge we'll build and it's not going to be the last one. Our main product for doing this kind of bridges is an RTI routing service. Basically provides you an API where you can write plugins to it. Which we call "adapters" and the OPC UA through the DDS bridge is just another adapter for routing service. Another examples of routing service adapters may be our Queuing Service and also our next-gen Recording Service, a thing we're going to talk about in different ... In a different podcast. So we're trying to build things on top of technologies that we know that work and make things easier to implement.
Lacey Trebaol: Yeah. Routing service has been around, in one form or another, since before I actually started at RTI. So that's more than six years, and that is a lot of engineering, people beating up on the product. That is a lot of customers beating up on the product. A lot goes into that. The idea that now we're getting to leverage all of that, to build out so many more of these great and useful things, is pretty cool.
Niheer Patel: Yeah and so we're putting out this adapter toolkit or gateway toolkit and it's not that we're just putting it out there for customers to use, but our own engineers...
Lacey Trebaol: Like "Hey, good luck."
Niheer Patel: Yeah. Our own engineers are using that and building it up. Actual products that can be used by customers.
Fernando Garcia: We do eat our own food.
Lacey Trebaol: It's legit.
Niheer Patel: I mean, if we're going to build something, we have to be willing to use it. If we're going to ask our customers to use it. That goes to what Jan was telling us about culture and transparency.
[10:50] The experience of working with leaders from other industries to write specifications
Lacey Trebaol: I'd like to quickly add, just so everyone here who does not know Fernando knows. Fernando is an engineer on our engineering team, who also now is doing work that is not, him sitting in the office. He's going to OMG meetings and working with leaders from other companies and other industries to help write these new specifications and to mold the other specifications that were involved. And also into things that better serve our customers and users and produce better products. So, it's kind of cool that you've been able to go from doing the engineering part for so long, and then using everything you've learned and all of that, to now go and add back into these specs and standards.
Fernando Garcia: Yeah. It's a great experience and it changes the way you think about what you're doing.
Lacey Trebaol: Does it?
Fernando Garcia: Yeah because then you realize that this is something that a lot of people are working on and it benefits other people. Then you get more motivated to make things right.
Niheer Patel: Yeah and you're taking your lessons learned and then you're kind of codifying it so that the next person doesn't have to relearn what you went through.
Fernando Garcia: And in the end you put on a different hat, you're no longer ... You're wearing the RTI hat, of course right, but you're also wearing the OMG hat and you're trying to make a specification better. You're working with other people who are implementing also DDS. And that’s a great experience because we are all trying to make a better standard and better ... Something that we can all benefit and we can all sell.
Niheer Patel: So, I think, also for the benefit of our audience, we want to hear more, but what is the OMG?
[12:00] What is the OMG?
Fernando Garcia: The OMG is a standards organization, it's responsible for the standardization of things that well known as UML, Corba and of course DDS. The DDS standard, I think that it was first listed in 2004 and since then it has grown to be a family of standards. So you have, the standard DDS, but you also have a standard wire protocol, which is RTPS. You have standard API's, right. We have standard API's for C++, for Java. You have standard ...
Lacey Trebaol: Security?
Fernando Garcia: Security. Of course, built on top of that.
Niheer Patel: My favorite.
Fernando Garcia: You have a standard type system, which is the extensible type system. You have other things on top of that. So it's really a family of standards that make possible to really develop complex systems. And make everything with things that you can rely ... That is not an RTI thing, it's something that is backed up by different vendors and important standards organization.
Lacey Trebaol: All of their experiences and lessons learned that they all carry. Bring into those rooms.
Fernando Garcia: Exactly. So right now, I'm working on different standards. Along with Gerardo. One of the standards, of course, the OPC UA/DDS gateway.
Lacey Trebaol: Gerardo is our CTO.
[13:25] Other things he’s working on, including a DDS Syntax for XML
Fernando Garcia: Also I'm working on a DDS and XML syntax to represent DDS resources and make it possible to define your DDS system in XML. Make it in a standard way so that you can actually transfer these things that you are implementing from vendor to vendor. We're also working on other specifications, it depends on the time we have we'll work on more. We'll try to get more things done. The other thing that I'm working on is the TCP PSM which is basically, writing a way in which RTPS can work also on top of UDP on top of TCP. Which is something that we do implement, but it's not a standard.
Lacey Trebaol: No big deal.
Niheer Patel: It sounds like we have a set of specifications, standards where a number of folks come together and put their knowledge together. We go and implement a version of that, we add our love on top, with our IP, but then some of that goes right back into that community, so that others can take advantage of it. It helps kind of grow that DDS community around those specifications.
Lacey Trebaol: We are nothing if not generous.
Niheer Patel: Very very generous.
[14:40] Some words on RTI Culture
Lacey Trebaol: One RTI. Okay, so, we talked in previous podcast episode with Jan, your fearless VP of engineering. We talked a lot about RTI culture, so as everyone at this table can attest, RTI has, I think, a very unique culture. I feel like a lot of us, we kind of… We see a little differently, the aspects that we personally just feel really passionately about, and the ones that we know we've definitely benefited from and become better employees, and in some cases, people because of, right? So, what is it about RTI culture that you think is so special?
Fernando Garcia: I think one of the most special things is that people who work here are really passionate about what they do. You already said that I think. It's worth repeating because one of the most important things, I mean you don't want to go to work and have a pretty bad day.
Lacey Trebaol: We're obsessed.
Fernando Garcia: Yes. I mean I come here and I know what I have to do today, and I am challenged by it. I'm really excited. It's not that I'm excited ... I'm excited today and I'm gonna be excited tomorrow and I know that everyday there is a new challenge. It's fun and I really enjoy doing it. So that basically generates passion and passion spreads. We are passionate about what we do. Also we favor our culture. We listen to people and it really seems ... Like here you feel really free to talk to anyone and give your opinion and your opinion are listened ...
Lacey Trebaol: They're valued.
Fernando Garcia: They're valued. That makes it a really special place to work at because you feel that people care and being part of our culture is great.
Lacey Trebaol: It's fulfilling.
Fernando Garcia: It’s fulfilling.
Lacey Trebaol: Awesome. So, we end all our interviews with RTI staff with two questions and the first one is, what is DDS?
[16:38] What is DDS?
Fernando Garcia: In a nutshell, DDS is software that makes it simple for applications to communicate with each other.
Lacey Trebaol: In a little nutshell, not like the big nutshell that we had before. Jan said in a nutshell, it was a ten minute nutshell.
Fernando Garcia: I mean that's what we do. We make it simple for applications to communicate so that you can focus on what your application does.
Lacey Trebaol: Which is what you're the expert in.
Fernando Garcia: I'm not an expert ...
Lacey Trebaol: You, the user. Yeah.
Fernando Garcia: The user is an expert on developing their application and ...
Lacey Trebaol: We're experts on ...
Fernando Garcia: You know creating this software that makes it possible for applications to communicate. I could talk about pub sub and and many things right. But in a nutshell that's what we do. We allow you to focus on your application and we take care of the big problem of managing distributed systems. Making applications communicate in a seamless way and efficient manner. So, that's our business.
Niheer Patel: I think it's worth noting, this came from engineering, not marketing. So this is an authentic response.
Lacey Trebaol: I won't take offense to that. Alright.
Fernando Garcia: This is not the first time ...
Lacey Trebaol: Alright. The last question we ask the RTI employees is, so now you just gave this very good definition of what is DDS, now can you explain that to me like I'm five?
[17:55] ELI5 - What is DDS?
Fernando Garcia: You are five?
Lacey Trebaol: Mm-hmm.
Fernando Garcia: Okay, so, your computer is generating information basically. You are doing things there and those things that you are doing ...
Lacey Trebaol: Playing games.
Fernando Garcia: Playing games. Those games ... You're playing with your friend and your friend is playing on his or her computer. You need to send the information that you are generating in your game. We need to send the position where you're at, in your scenario. In your game. Maybe I'm getting too complex right now.
Lacey Trebaol: No, we're good. I like it.
Fernando Garcia: We're still good?
Lacey Trebaol: Yeah.
Fernando Garcia: So ...
Lacey Trebaol: I'm a really smart five year old.
Fernando Garcia: So the way that your computer can send information to the computer is by ... Well you have many ways, but a really simple way and an efficient way, is to use DDS. That's what we do. That's DDS. Something that allows your game to talk with another game.
Lacey Trebaol: So I can play with my friends?
Fernando Garcia: So you can play with your friends and the things are moving at that right speed because we're doing good real time.
Lacey Trebaol: Woohoo.
Niheer Patel: That's what five year olds are experts at, right. Playing with friends.
Lacey Trebaol: Exactly. You let me play with my friends. I like it. Best answer yet.
Fernando Garcia: Yes and we don't want to introduce any lag when you're playing.
Lacey Trebaol: We're not getting into latency and jitter in a conversation with a five year old.
Fernando Garcia: But the five year old will be really upset if there was any latency right.
Lacey Trebaol: "Why is it broken?"
Fernando Garcia: Exactly.
Niheer Patel: "Why do I have to wait five minutes to play with my friend?"
Lacey Trebaol: "What do you mean wait? I'm going to get up and go do something else. I'm not playing this game."
Lacey Trebaol: Thank you so much for listening to episode thirteen of The Connext Podcast. We hope you enjoyed learning about the role of standards and easing technology integrations. If you have any questions, or suggestions for future interviews please be sure to hit us up over on social media. You can also reach out to us at email@example.com. Thanks and have a great day.