infoq-ibm-websphere
1. We are here with Tom Banks at QCon San Francisco, and Tom is an IBM technical Evangelist, hello Tom!
Hi there!
Martin‘s full question: Tom, as a technical Evangelist
for IBM, you seem to have an ideal job for a Software Engineer and Computer
Scientist, travelling the world over attending tech conventions and
demonstrating video controlled cars. One might see obviously what‘s in it for
you; it’s an awesome job. But what is IBM getting out of showing
radio-controlled cars and sponsoring you and your great efforts as Evangelist?
So my whole role is to go out and approach development
communities and approach developers. Either online or at conferences such as
QCon and to talk to them about the different interesting things that I can do
with IBM’s technologies and to try to show them new things that I can
do.
So when you talk to a developer and you mention an application
server, then if they‘ve used application servers like as an OS or as a web site
or they can use it as a middleware environment.
But then they know that
you can take that, you can put it onto a relatively low power embeddable device
such as a Raspberry Pie and they can remotely control devices.
Not just
radio controlled cars but home automation or any kind of physical device that’s
got an electronic control component from over the Internet or over a local Wi-Fi
using Internet standards.
And so, I go out to developers, I tell them
about these cool new technologies they can do, these cool new things they can do
with our technology to try to make them think a little bit outside the box when
it comes to enterprise software so that they can innovate using our software and
these new spaces.
We do have a couple of objectives with the Code Rally Game.
First, as you rightly mentioned, is to encourage kids and students to learn how
to develop software. To learn how to use Java most specifically and to become
the next software engineers. Not just for Big Blue, for IBM, but our customers,
especially in the middleware environment with the Liberty Profile Application
Server. Our customers are our end-users, our developers, so in a way we‘re
educating them so that we have more end-users to go out there who know about our
software and who know how easy it is to use. And then go out there and use it in
their jobs later on.
The other role of Code Rally is, because it’s an
Open Source game, and because we’ve documented how we built it, is it’s a very
good case study, very good showcase on what you can do with IBM software.
So it’s built using Rational Team concept. Which is an IDE that has got
an SPM component. And that links up with the JazzHub. Which is an online code
repository, which allows you to create teams of software developers who can be
spread all over the world. Such as the Code Rally Team was. And they can work
together collaboratively on software engineering projects.
And then
creating programs and using that software built on top of the Liberty Profile
Application Software. Which is an example of a very good application server you
can use. And again because it’s Open Source you can see how we‘re using the
Liberty Profile.
You can look at some of the interesting things we are
doing with it, as we are doing some very interesting things in the Code Rally
Game and learn from it by just looking at the source code and looking at our use
case.
Martin: You mentioned Java, that‘s mainly the language of
choice for IBM, and what about HTML5 files and…
Java is your
service site programming language. That is what runs a vast majority of
enterprise software and it’s a very good programming language to use when it
comes to HTML5 that‘s more of an instance of Liberty Profile.
That‘s
what it will be sending out. So you are not just writing in Java when you are
writing a web application. You’ve got to write your web front-end. Which you
should be using HTML5, now you‘re maybe using JavaScript and Dojo in addition to
that.
Martin‘s full question: Regarding the use of the term of
Evangelist, according to Wikipedia it was originally taken from the context of
religious Evangelism, do the similarity of relaying information about a
particular set of beliefs with the intention of converting the recipient. Do you
ever get flack about sporting such a title and what manner of technological
belief so to speak, if anything, are you trying to convert your listeners to
adopt?
Yes, I got a huge amount of stick from my friends; from
family, from people who had the job title Technical Evangelist, because we are
going to put out a big red book and start beating over the head with it to get
them to use IBM software. So I do get a lot of stick for that title. In a way I
do what the description says, I do go out there and I do evangelize around my
beliefs and when it comes to Software Engineering. So I’m biased.
I was
a Software Engineer working on the WebSphere Application Server Liberty Profile
before I took this role as the Evangelist. And because I’ve worked on that and I
understand the code behind it and I understand the reasoning we’ve gone through
when we’ve been designing it constantly keeping the end-user of the developer in
mind to make it easy for them.
I do believe that we do have the best
application server for developers to develop on. We’ve made every decision
focused on making it easy for the developers, so they have to do as little as
possible to keep an application server running in the development environment
and having to make the least changes to it.
And so I do believe
whole-heartedly that we do have the best software. And I’m trying to show
developers not just to try it. Because more often than not, when a developer
tries to use the Liberty Profiler and sees how easy it is to use, they do agree
that it‘s a very, very good development environment to use.
So when you say, when you talk about the Application Server such
as Liberty, the first thing that comes to mind is running a website. So that can
be a secure website with a database backend.
So for example online
banking sites or online shops, that‘s the most common use cases you think of as
just these websites as potentially sort of internal middleware infrastructure
websites that‘d you use in an organization to look at reports or to try to
coordinate different things going on and hook different pieces of software
together within an organization.
So most use cases in the production
environment an end user would see would just be your online websites. And so
that‘s the most common use case.
6. [...] And if so, can you explain how people might want to try that for themselves if they can?
Martin‘s full question: Regarding your technique of
using gamification with the, I saw that you used Ubuntu Virtual Machine for
using your Minecraft application, is the Ubuntu Virtual Machine the best method
that you found for getting the Web Sphere Application Server Liberty Profile to
work on Android devices? And if so, can you explain how people might want to try
that for themselves if they can?
So for Code Rally we don’t
actually highlight using Ubuntu for that. You can write your own Code Rally on
Linux, OSX or Windows. We have a Windows history all around me at the moment but
we do support all of the various platforms.
So as with Liberty Profile,
if Liberty will run on your OS, such as those three platforms I just mentioned,
then Code Rally will run on top of that.
As for the question of running
the Liberty Profile on Android, then because Android uses the Dalvik Virtual
Machine, it’s not 100% Java in the sense of the JVM language that you’d write in
the application server for. So you can’t just use in a mobile phone platform the
Dalvik VM on Android. And there is no Java equivalent Virtual Machine on iOS or
Windows Phone. So we had to figure out a way of getting an actual Java Virtual
Machine onto a mobile platform. The easiest way of doing that is by taking
Android‘s OS. It‘s the most open of the three operating systems and installing
Ubuntu as a loop device almost like a Virtual Machine in that sense, so you are
running Android and that‘s controlling all your device drivers, your internet
access over the 3G radio, over the Wi-Fi etc, and then you have your Ubuntu
Virtual Machine on top of that.
And kind of hitchhiking on the back of
that driver‘s support in Android, so Android does all of the driver model for
the hardware and Ubuntu just thinks its got an Ethernet connection to the
outside world.
And because we’ve got Ubuntu then running on a mobile
phone or a tablet computer, you can then install a Java Virtual Machine, so Open
JDK for example, and then once you’ve got that installed, you can install a Java
EE application Server such as the Liberty Profile, one that supports any JVM, so
there‘s no IBM Virtual Machine that runs on devices.
So we couldn’t
support enterprise software that‘s only supported on say J9 and it’s the same
with some other application servers. They might not run on non-specific Virtual
Machines, but with Liberty it does, so it’s very easy to do.
7. Could you’ve done that or have you done that with iOS?
So we’ve not managed to do it with iOS or Windows Phone because
there‘s no easy way of installing Ubuntu or any Linux variant or any OS that has
a Java Virtual Machine onto those pieces of hardware.
I mean you could
take a Windows Phone potentially and replace the entire operating system with
Ubuntu. But then you’ve got to find driver support and other things so it’s much
easier to target the Android platform due to its openness and there‘s nothing
for iOS except its lockdown and Apple don‘t want you replacing in iOS.
That‘s going back to a few years ago now with my software
testing. So I did used to work in software testing and it depends on what
software you are testing and what level of testing you want to do.
If you
are using Unit Testing and then attempt to write a standard Unit test using the
Eclipse IDE. And if you are looking at more functional testing then we tend to
build our own testing frameworks, which will execute our tests automatically for
us.
Which is very useful considering the huge number of tests that we run
on our software in a build environment. So fire and check-back in an hour
software build environment verification tests for our systems tasks etc. So it’s
amazing what it‘s testing.
The ISEB Certificate in software testing that I got was
encouraged and paid for by IBM a few years ago when I was just working as an
industrial trainee, an intern essentially, in the UK.
And IBM does
encourage all of its employees to undergo education such as that to try to
improve them as software engineers. So by going on that course it made me very
aware of the different types of testing you want to do and the best practices
for that and the ‘test first‘ style of software development.
Where you
write your test almost before you’ve written your code. So you’ve got your test
case ready and then you make your code work with that, so you are testing
everything.
That has helped me a lot in my career because, not because
it’s a qualification, because it’s just a line on a piece of paper, but it
improved me as a software engineer. And so the name change of the foundation
didn’t affect it because the quality of what I’ve learned is still perfectly
valid.
Martin: We talked a little bit about what can be performed
with the Liberty Server for Minecraft. Describe where you think maybe that‘s
going and what tools that you created to work with Minecraft. And describe that
process of creating the tools and the plug-in for it...
So this
is going back about a year now, when we were working on the Liberty Profile and
we wanted a way of making it easier to use. Or coming up with some fun new
unique ways of interfacing with software. So I’ve got a very strong development
gaming background from my degree. And so I chose to try and modify a computer
game with a virtual world to control enterprise software, in this case the
Liberty Profile. So I chose Minecraft because it’s a Java game. So I’m already
very familiar with the language and it’s very easy to modify, especially with
the Open Source. I said the Open Source, the community around Minecraft, and
it‘s not Open Source itself. But you can get versions of it that you can access
the source code on. So I wanted to try and see how easy it was to write a
modification for Minecraft and to try and think on how I could utilize Liberty‘s
and JMX‘s API to control the enterprise software from another piece of software.
So I wanted to do the Minecraft work and wanted to figure out how to
control Liberty from the software. It made sense to modify the computer game to
control the enterprise software and that was relatively easy and it took a
couple of hours and an evening to put that together and then have some fun with
it.
And by doing that we’ve been able to give it to interns, to students,
to graduates, to engineers in IBM to try out and yes, we‘re not going to be
distributing it as an official user interface.
Our users don‘t have to
worry about having to play games to control software. But it‘s just trying to
make people think on how they can control their software by showing look: “It’s
so easy”, we even managed to convert a computer game. The thing that is least
suited as a user interface for enterprise software almost and we’ve managed to
make that work.
So you can go out there and you can create your own user
interfaces if you wanted to that customize specifically for your individual use
case. And I still encourage people to try that out.
10. And you eliminated some of the characters because they could cause some difficulties with it?
Yes. So because in the Minecraft user interface you can, you
physically build a physical representation of your application server
architecture. There are enemy mobs in the Minecraft game who detonate,
destroying parts of the world. And you don’t want those running into your very
carefully setup representation of your server and then destroying half of it, so
we make sure to remove those.
Martin: So if they try that at
home, they better scout out those first.
You don’t want your
user interface fighting against you. I’m sure plenty of servers out there will
say that it would probably be a nightmare to be fighting real fires in your user
interface as well as fires in your hosting environment.
11. How do you like QCon San Francisco so far Tom?
It’s a really good conference. There are a lot of developers
here from loads of different backgrounds. You’ve got developers representing big
corporations, you’ve got developers who are working on their own and it’s great
to be able to talk to those different groups and to get their own different
views and opinions on what we‘re doing and to get feedback on the software that
we are creating for them.
That‘s really, really valuable because we want
everyone to be using our software, we are not just targeting big business
anymore. Which is one of the reasons why we made the Liberty Profile free for
developers. It’s just so anyone out there can go out there and give it a try and
learn how to write EE applications on it.
So there are more developers here than at New York.
13. What‘s your impression on the differences if any between New York’s QCon and SF’s QCon?
How to answer this without insulting one side of the country? So we’re at the first day of the conference here at the moment. So I’ve not spoken to too many different developers. I’ve not really noticed much of a difference. I‘m seeing a good mix. I’ve not been to any presentations because I spend more of my time talking to developers around their ideas and personally that‘s more interesting to me.
We do see a little bit of geographical difference. So I tend to
focus mostly on Europe and North America at the moment. I am hoping to be able
to go to more African, South American and Asian Conferences in the coming year
since I’m relatively new to the role and have not been able to do that yet. The
reaction in France is more different to the reaction in the US, especially to
the Code Rally Car and also to the Code Rally Game and to the Liberty Car. So in
France we saw a lot of competition between two groups of developers on the Code
Rally Game. Where we are running a competition where they had to write their own
alley to drive the car around the track and the fastest couple of cars to win
the prize. And we had these two groups of developers who spend about four hours
over a couple of days sitting at these laptops during the conference, just
hammering out the code, trying to beat each other.
So there is a little
bit more competitiveness there within the groups. In the US especially we tend
to see people, if you have a group of developers, they take a laptop each and
they‘ll compete with each other as well as against other groups of developers.
But in France they seem more focused on everyone crowding around one laptop and
getting it to work or doing their own thing. It’s more of a us versus them as a
case of a me versus them approach, but that is just…
15. Where are the best opportunities at IBM, Tom, these days?
IBM is a huge company, so I work with people all around North
America, Canada, Europe and Asia as well. There are opportunities all over the
place. The trick is to just apply.
So the one thing that I do notice is
when I go to universities and I talk with students there and graduates, future
graduates and all of them thinking: “I can’t apply to a big company like IBM
because they only want experienced engineers” and I say to those people: “No,
no” to take advantage of this and you can apply for the graduate schemes and
they‘re a fantastic way of getting into the industry.
So that‘s not
restricted by geography, just give it a go, and doesn’t even need a Software
Engineering Degree to work for IBM anymore. You can be a chemist or a physicist
or a philosopher or a musician and as long as you show the right kind of
personal qualities, they‘ve got the opportunity.
Martin: I saw
they are advertising a lot of; they want a lot of people from mobile backend as
a service technology so it’s doing a little…
So the IBM mobile
first initiative is very active at the moment, so yes, anyone with mobile and
development experience or writing backend infrastructure for mobile development,
always it’s a good time to come and try IBM software or to apply to write that
software.
Another big initiative we’ve got going on at the moment is IBM
Design. So we are aware that some of the user interfaces or some of our software
could be easier to use, especially some of our older software going back to the
early or mid 2000‘s. And so to combat that and to make it much easier to use our
software, we‘re bringing in a lot of web designers and user interface designers
to come in and to help make things even better for our end users.
So
anyone with that sort of design background, you don’t have to have a very
technical background for this, we do have a big initiative on that at the moment
and I believe that‘s across geographies.
16. You guys do a lot of training there?
I believe they do give you training. I’m not in those areas. I do believe they give you all the training you need for it although that‘s the same with anywhere in IBM. But I know that UK and the US have a lot going on at the moment and the design initiative.
17. Great, so what about the Liberty Car?
The Liberty Car, I‘ve had it on my lap all the time. So this is
the Liberty Car, it’s a radio-controlled car, which we ripped the radio receiver
out of; we plugged a Raspberry Pie computer, which for anyone who doesn’t know
it’s a $30 computer. It’s based on a mobile phone chip about for or five years
ago now. So it’s relatively slow but it’s very low power. You power it through
your USB port so you can plug it into the main source.
Into your laptop
or TV or anything with a USB port to power it. It’s booted off an SD card. So
you just write an image that you downloaded from the Internet onto an SD card
and plug it in and away you go.
And this runs Linux at the moment, so
you’ve got a Linux operating system on a $30 dollar computer the size of a
credit card that you can run almost anywhere. So what we did with that is we
plugged that into the motors of the car, replacing the radio controller, we’ve
given it a Wi-Fi network so it’s got its own USB power, Wi-Fi router within the
car itself, so its got its own network in effect and on top of the Linux
distribution we installed on that, which is Raspberry and the default image that
you normally get for running on a Raspberry Pie.
We install Open JDK6 as
Agile Virtual Machine and on top of that we install Liberty Profile, so
combining all of that together; powering the car with its internal
battery.
What that means is you can connect any mobile device, a mobile
phone, a tablet, a laptop, a desktop computer with a Wi-Fi Dongle in it, you can
connect it to the car zone Wi-Fi network, you can scan this QR code or entering
the URL yourself and you can essentially get this webpage which is just a
JavaScript web page, there‘s nothing proprietary about it and it works in pretty
much any modern browser, and from that web page I can in effect drive the car
and very, very close to real-time as a couple of milliseconds latency.
But by doing this we are trying to show a couple of things. First is the
car itself is what we call a Zero Infrastructure Environment. That means that
it’s got its own processing, its own storage, its own networking, its own power
supply, the whole last to a very good amount of time, I mean we are talking 20
hours. It’s completely self contained, very portable. If you get rid of car
components, you can fit this in a palm of you hand pretty much. And we are
trying to show people that you can take these setups, these applications, Java
EE Applications setups and take them out of the server or even take them to
wherever you need them.
So it’s trying to get developers thinking what
would I do with this or how can I use this in an environment where I don’t have
reliable Internet. It’s trying to get them to think on what they can do with
that. Which leads you to the Internet of Things. Which is the idea of that not
distant future, hopefully soon since I’m a big fun of the Internet of things.
We’ve got everything has its own brain; you can control everything using a
mobile device. So your light bulbs have their own control. So what you can do if
you have Wi-Fi, you can control an oven at home to turn it on when you are
getting off from work. You can monitor your home and power usage from work and
if you left the light on you could flip it off from the Internet.
So to
get to a use stage of the Internet of Things where everything seems to connect
and it works with each other, we are going to need embedded devices such as a
Raspberry Pie to be able to control these devices. And to be able to control
them, we are going to need a web interacting with it. So I’m a big fan of using
web standards. Because everyone has a web browser on their mobile phone pretty
much and it’s a known quantity.
It’s a known standard and hopefully by
using Liberty Application Servers you can stick to those standards and avoid
proprietary technology and proprietary communication protocols. Because that is
the one thing that I don’t want to see within the Internet of Things, I don’t
want to have 200 mobile apps installed on my phone to control my home. Because
there is no point in doing that when you can do that using just simple web pages
or a mobile app that can just interface and understand what a user interface
represents based on communicating with devices.
So what we are trying to
show here is just this self contained app server environment as well as
embedding small devices to control pretty much anything.
I’m not going to do the thing of giving the year we‘ll see that.
Because that‘s just impossible to guess when we‘ll see it fully pervasive. But
we are seeing it now; we are starting to see it more and more all the time. So
you can buy light bulbs now that you just plug into a standard attachment,
they’ve got their own Wi-Fi Mesh network and so you can control all those from a
mobile app.
You’ve got home automation kits already, which allow you to
control different devices in your house. But those two things, on the whole
using propriety standards, you’ve got competing standards and it’s a shame to
see that.
I’m hoping with devices such as the Raspberry Pie we‘ll see
more manufacturers moving to using devices like this that are off of the shelf,
just plug and play as opposed to a lot of these implementations and using these
devices hopefully they’ll start using more open standards in their communication
protocols to let you control these using less apps.
Since that will just
be a nightmare and I think that would kill it. But I think we are seeing it now.
We are starting to see it roll out slowly and every couple of months you see
more devices coming out that link together.
So I’m going out now talking about the Internet of Things
showing how you can use the Liberty App Server. Yes, it’s part of the pack of
demos that I have to take around with me. It’s one of the things that I’m really
passionate about seeing.
I really want to see this into connectivity
because it makes things just like living in the future pretty much, where you
can just take out your phone and turn the lights on, turn the TV on, put the
oven on, see what food you’ve got in the fridge, you can do that all from your
mobile phone instead of having to go and do those things. That‘s pretty cool to
me, pretty Sci-Fi.
20. What about 3D printing, it’s any..?
3D printing it’s fantastic. There are a lot of engineers that I
work with back in the lab in Hursley who’ve got their own 3D printers. I see
that as becoming something very, very useful in the future.
I’m not aware
of any IBM initiatives in 3D printing because it’s a physical printer and it’s
more of a consumer base product. But again 3D printing is a fantastic thing and
I’d love to have a 3D printer of my own. I plan to have one pretty soon because
of the different things you can do with them.
21. Awesome, so Tom on your world travels as technical Evangelist for IBM where do you go next?
I’ve got one more conference left in 2013 and that is the LJC
Conference in London. That is near the end of November, on the 23rd of November
I believe Saturday.
And that is a smaller conference than QCon. So it’s
going to be about 150 developers but again there are developers from all
different backgrounds. So you’ve got developers for large corporations, for
medium size businesses and developers who are self employed.
So it’s
great to go and speak to those communities and find out about what they think is
interesting in Software Engineering and what they like and don’t like about some
of the things that we are doing.
Martin: There‘re in for an
educational experience I’m sure. Thanks so much for being with us here at QCon
San Francisco Tom!
Thank you!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。