Paul Fremantle – Connecting the World
Before his keynote at the JAX London, Paul Fremantle of WSO2 talks Internet of Things, Java 9 features and what it means to be a CTO.
Between running a middleware platform, researching for a doctorate on IoT security and playing the mandolin in an Irish folk band, WSO2’s CTO Paul Fremantle is a busy man.
JAX Magazine: You’ve got a talk at the JAX London about “Connecting the World”. What do you think developers need to pay attention to when entering into this connected world?
Paul Fremantle: So, let me first describe what I mean by the connected world. There’s seven billion people on the planet right now. And about half of those people are connected on the internet. There are however millions of apps (we don’t know, we can’t count how many there are …) and there are, I believe, about 7 or 8 billion devices, growing to 20 billion in just a few years. What businesses are really succeeding in doing is connecting the people, the apps and the devices.
So if you’re a developer, the most important thing is to be aware of this and to be thinking, what you can do, how you can take the business you work in and utilize that. But in real terms, I think the very first thing is to make sure that you use loosely coupled APIs as much as possible. So that typically means RESTful APIs with JSON, with things like OpenID Connect. And doing that gives you this amazing basis to participate in this connected world.
And then of course if you can expose those APIs to third parties then you can participate because you can create an ecosystem for people to build apps that connect to you. Then you can start thinking about “How can I start linking this in with devices and people?”
But this is just scratching the surface, because once you start connecting to these billions of devices, you can do things in a straight-forward way. You do things with human interaction, you have to have autonomic systems, where the system will react on its own. And typically that means doing a big data analysis. And as you start getting into that scale and complexity, that’s when it starts getting interesting.
Can you tell us a little bit about WSO2?
So we’re nine years old. And we set out with a vision to create a platform, to create the next generation middleware. And we’ve created a complete platform, it’s all based on Java and OSGI. It’s a single codebase that we build as a single build. And then that builds a set of components, modular OSGI components that fit together to make the products.
So the products include ESB, an API management tool, an activity monitor, an identity server, so it’s a complete middleware platform, but built in a very different way from a traditional middleware platform. And it’s completely open source, we very strongly believe in that. This is not “Community Edition” and then the paid-for edition, this is 100 percent Apache-licensed open source.
Do you need to be experienced in wide variety of areas to make it as a CTO?
I think the biggest challenge for a CTO is to balance breadth and depth. You know, I think one of the jobs of the CTO is to make connections between customer problems and technologies, between different technologies inside a company. So breadth is very important for making these kinds of connections. But having some depth and understanding what the real-world implications of “Well we should do X and Y …” is really difficult as well.
It’s more of a challenge the longer you go. When we started out there were 30 developers inside of WSO2 and I knew exactly what they were all doing and I helped joined the dots between them. And now there’s 300 developers, so I’m only scratching the surface with them. I actually started doing a part-time doctorate so as to create my own depth in a different area. Because I can’t stick my fingers into people’s code. Some of my code is still a core part of the ESB we ship. But I can’t do that now. I’m just too busy and I’d be messing it up. I started doing a part-time doctorate so I have my own sidethings I can be really deep in.
You’re researching in IoT Security, right?
It’s a huge issue for the Internet of Things. Every new area gets hit by security. If you look at cloud computing or client server or mainframes 50 years ago, security was always a challenge. And it’s always an inhibitor for people to get involved. So I don’t want to scare people off IoT because there’s security issues, I’m really trying to motivate people to solve those issues and trying to solve some of them myself. But it is an issue, and you can’t fix it until you admit it’s a problem.
Is the Internet of Things the next revolution, or evolution in programming? Or just another overhyped trend?
Fremantle: I think it’s both. I mean, obviously there’s massive hype around it. I’m least convinced about the hype around wearables. I have a smartwatch, a Qualcomm Toq. I wore it for about a week. It’s really cool and very cool device, but I don’t wear it because I have a boring old watch that tells the time and just sits on my arm and is waterproof. So I just want my watch to tell me the time. I already have wearable with me at all times, it’s this mobile phone I’m holding in my hand. I carry it with me at all times.
“IoT will change the world just as much as,
or more than, mobile has.”
I think the industrial and enterprising Internet of Things is going to be massive. We’ve seen mobile change the world. I think Internet of Things is going to change the world just as much as, if not more than mobile has. But is it really an evolution of programming? I think a lot of the things we do in coding today are going to work just fine for IoT. I don’t think there’s a huge change in programming models.
I think there are some changes in infrastructure. For instance, we are shifting from a few big systems that are quite reliable in communicating, lots of high volume, to gzillions of little systems, low reliability, low volume. That is a shift and you don’t get away from those big systems, and you still have to deal with the small systems. So I think there’s a few challenges for people, but I think a lot of the technology we use for mobile will translate.
You mentioned WSO2 taking an open-source approach. What kind of advantage do you see open-source as having for software companies?
Fremantle: It’s interesting, a lot of people associate open source as just being cheaper. You know, just being a low-cost approach. And I think there are cost differences, but when it comes down to it, the cost of the software is not the biggest challenge. Usually the cost of developing stuff and maintain- ing it massively outweighs the software cost, firstly. And secondly, if it’s running your business, you don’t usually mind that much. I don’t think that’s the key.
I think the key thing is the lock-in. We’ve seen a lot of companies and organisations locked in not just to the software vendor but to the expensive consultants around that and to the customizations and all the complexity of that software. I’ve seen that.
“I live in England and every year there’s another ten billion pounds wasted on another IT project that’s gone south.”
First it was the NHS Spine, then it was the HMRC Aspire. I’m seeing some movement towards open source and it seems to be saving massive amounts. But the real thing I think that’s interesting is that open source creates a different foundation between the project and the customer and the company. So you know, a lot of our customers contribute. They may contribute test cases. They may contribute code. They may sponsor us to improve it in ways they need. And so they have a real influence on the product road map and a real connection with the software that’s much deeper than with a proprietary software company. To me that shared commons is really what makes it exciting to be in open source.
Have you been following the talk about new Java 9 features?
I have followed it a bit. I have to give Oracle credit. Sun had this policy of keeping the core Java static and adding lots of APIs around it. And as an open-source guy, this was kind of frustrating because in many cases there was already many perfect open-source API projects that would work with any old Java version. And then Sun would come along and say “Java 7’s going to have this API” and everybody says “I’m going to hold off to Java 7 then” and then it turned out to be five years later or something. So Oracle have really upped the focus on the Java core language. And I think that’s been really good.
But I don’t see so much of that in Java 9. It took a long time to get to Java 8, but it has a lot of cool stuff in it. Java 9 features … I mean the JSON API, again it’s just that there’s loads of really good JSON APIs in open source. Does it really help to have it in Java? I don’t buy that myself.
Regarding modularity – I feel it would have been great to have had it in the language. It will be good, but OSGi has solved a lot of that. I feel they’re a little bit less exciting than the Java 8 features and little bit “Meh …”. I’m not so excited.
What would you like to see in Java 9 then?
For example, if you’re going to do JSON, have it as a first-class entity in the language. Learn some lessons from some of the dynamic languages on ease of use and how to use JSON and that kind of model in an absolutely first class way.
Make sure to catch Paul’s keynote “Connecting the World” at the JAX London 2014.
Date: Tuesday, October 14, 2014 – 09:00 to 10:00