1
00:00:00,000 --> 00:00:06,000
Hello everybody, here we are at EclipseCon 2009 in lovely Santa Clara.

2
00:00:06,000 --> 00:00:09,000
We've got another guest with ourselves, would you like to introduce yourself?

3
00:00:09,000 --> 00:00:14,000
Yes, hi, my name is Oliver, I'm working for a company called Sopra, it's based out of Germany.

4
00:00:14,000 --> 00:00:19,000
Sopra is a company that produces an SOA, an open source SOA suite,

5
00:00:19,000 --> 00:00:23,000
and we're also running the Swordfish project in Eclipse and I'm the project leader.

6
00:00:23,000 --> 00:00:29,000
We actually, I forget if I was doing it with you, but at Redmonk we had a video of just talking about Swordfish,

7
00:00:29,000 --> 00:00:31,000
about a year ago or so.

8
00:00:31,000 --> 00:00:32,000
Yes, I think you met Rico.

9
00:00:32,000 --> 00:00:34,000
That's right, it was with Rico, that's right.

10
00:00:34,000 --> 00:00:38,000
And at that point, you know, it was sort of an idea that you guys were developing.

11
00:00:38,000 --> 00:00:39,000
This week.

12
00:00:39,000 --> 00:00:42,000
You guys actually sort of released the 1.0 version of Swordfish.

13
00:00:42,000 --> 00:00:43,000
We announced the release.

14
00:00:43,000 --> 00:00:44,000
You announced it.

15
00:00:44,000 --> 00:00:46,000
It's going to be released at the end of next week.

16
00:00:46,000 --> 00:00:47,000
Right.

17
00:00:47,000 --> 00:00:50,000
But we announced the release and it's the first re-release, it's 0.8.

18
00:00:50,000 --> 00:00:52,000
And I'm very proud of that.

19
00:00:52,000 --> 00:00:57,000
It's an achievement, definitely, and had a long way to go through all the IP compliance process in Eclipse.

20
00:00:57,000 --> 00:00:58,000
Right, right.

21
00:00:58,000 --> 00:01:02,000
It's always difficult, especially when you have an existing code base and need to somehow

22
00:01:02,000 --> 00:01:08,000
restructure that and make it basically IP clean so that it can smoothly go through the IP compliance

23
00:01:08,000 --> 00:01:09,000
process.

24
00:01:09,000 --> 00:01:14,000
It was a huge effort, but we finally managed to do it and now we're proud on our first release.

25
00:01:14,000 --> 00:01:17,000
That said, can you tell us what Swordfish is exactly?

26
00:01:17,000 --> 00:01:20,000
I mean, for the Eclipse world, it is something slightly different than what I think most people

27
00:01:20,000 --> 00:01:21,000
would expect.

28
00:01:21,000 --> 00:01:26,000
Definitely, because Eclipse is probably most well-known for everything IDE related.

29
00:01:26,000 --> 00:01:30,000
So the whole runtime story is quite new for Eclipse.

30
00:01:30,000 --> 00:01:33,000
And Swordfish is definitely something that happens on the runtime side of things.

31
00:01:33,000 --> 00:01:37,000
So it doesn't have any fancy IDE plug-ins.

32
00:01:37,000 --> 00:01:39,000
It doesn't have a UI.

33
00:01:39,000 --> 00:01:46,000
It's a completely runtime oriented kind of framework that you can use to build service oriented applications

34
00:01:46,000 --> 00:01:51,000
on top of existing Eclipse technology like Equinox and other things from the Eclipse ecosystem.

35
00:01:51,000 --> 00:01:53,000
So it's back-end technology.

36
00:01:53,000 --> 00:01:54,000
It's back-end technology.

37
00:01:54,000 --> 00:01:55,000
You could also use it on the front end.

38
00:01:55,000 --> 00:01:59,000
You could use it for creating RCP applications that interact with back-end web services, for

39
00:01:59,000 --> 00:02:00,000
example.

40
00:02:00,000 --> 00:02:02,000
So it's not completely back-end, but it's mostly back-end.

41
00:02:02,000 --> 00:02:08,000
The idea of SOA service oriented architectures is a pretty expansive idea.

42
00:02:08,000 --> 00:02:10,000
It can mean all sorts of things.

43
00:02:10,000 --> 00:02:15,000
And usually what I find is people who have, or technologies that are an SOA, if you will,

44
00:02:15,000 --> 00:02:20,000
I mean, they have a particular sort of take on what an SOA is.

45
00:02:20,000 --> 00:02:22,000
And I imagine Swordfish is the same sort of thing.

46
00:02:22,000 --> 00:02:28,000
The basic philosophy of Swordfish is that the ESB as the central component in any SOA should

47
00:02:28,000 --> 00:02:30,000
be actually not that central.

48
00:02:30,000 --> 00:02:31,000
It should be decentralized.

49
00:02:31,000 --> 00:02:33,000
It should be a distributed ESB.

50
00:02:33,000 --> 00:02:35,000
And this is exactly the pattern that Swordfish follows.

51
00:02:35,000 --> 00:02:41,000
So it's a distributed ESB, which basically means there are no central components that you

52
00:02:41,000 --> 00:02:45,000
definitely need for participants in your SOA to interact.

53
00:02:45,000 --> 00:02:46,000
So it's very decentralized.

54
00:02:46,000 --> 00:02:47,000
Very decentralized.

55
00:02:47,000 --> 00:02:48,000
Okay.

56
00:02:48,000 --> 00:02:51,000
It's connected with the actual business implementations of code.

57
00:02:51,000 --> 00:02:52,000
Okay.

58
00:02:52,000 --> 00:02:55,000
So all the mediation happens directly between participants.

59
00:02:55,000 --> 00:03:00,000
I mean, there are some central components like a configuration system, a registry that is used

60
00:03:00,000 --> 00:03:03,000
during mediation of service calls.

61
00:03:03,000 --> 00:03:06,000
But you don't need that once the connection setup has happened.

62
00:03:06,000 --> 00:03:08,000
And so would you say there's a lot of peer-to-peer stuff happening in the Swordfish?

63
00:03:08,000 --> 00:03:09,000
Yeah, definitely.

64
00:03:09,000 --> 00:03:10,000
Okay.

65
00:03:10,000 --> 00:03:11,000
Definitely.

66
00:03:11,000 --> 00:03:12,000
After the first connection setup, everything is peer-to-peer.

67
00:03:12,000 --> 00:03:16,000
There's no central component that becomes a bottleneck.

68
00:03:16,000 --> 00:03:18,000
How did the Swordfish technology come about?

69
00:03:18,000 --> 00:03:25,000
The history goes back until, I think it's 1999, so one decade of experience, when Deutsche

70
00:03:25,000 --> 00:03:30,000
Post DHL, which is the largest logistics company in the world, started their SOA program.

71
00:03:30,000 --> 00:03:37,000
And they found that there was no commercial solution available, so they created their own SOA framework.

72
00:03:37,000 --> 00:03:42,000
And in 2007, they decided to publish it as open source software.

73
00:03:42,000 --> 00:03:50,000
And basically the mission of SOA is to, well, to support the further development of this platform

74
00:03:50,000 --> 00:03:53,000
inside the Eclipse Foundation ecosystem.

75
00:03:53,000 --> 00:03:55,000
SOA was founded in 2007.

76
00:03:55,000 --> 00:03:56,000
Okay.

77
00:03:56,000 --> 00:03:57,000
It was exactly this mission.

78
00:03:57,000 --> 00:03:58,000
Right.

79
00:03:58,000 --> 00:04:01,000
And so it really is a company built around a single stack.

80
00:04:01,000 --> 00:04:02,000
Yeah.

81
00:04:02,000 --> 00:04:03,000
Yeah.

82
00:04:03,000 --> 00:04:05,000
I mean, we're constantly extending the stack to other things.

83
00:04:05,000 --> 00:04:07,000
For example, we are adding BPM.

84
00:04:07,000 --> 00:04:10,000
We are adding service activity monitoring.

85
00:04:10,000 --> 00:04:12,000
Everything around this platform.

86
00:04:12,000 --> 00:04:16,000
But it pretty much revolves around this core component of the SOA.

87
00:04:16,000 --> 00:04:21,000
Given that you're sort of, I mean, what I would term a sort of ESB-based SOA, if you will.

88
00:04:21,000 --> 00:04:22,000
Which...

89
00:04:22,000 --> 00:04:23,000
Whatever ESB means.

90
00:04:23,000 --> 00:04:24,000
Yeah, sure.

91
00:04:24,000 --> 00:04:25,000
It's different things from different people.

92
00:04:25,000 --> 00:04:29,000
It begs the question what an ESB is, but we'll save that for the ESB discussion.

93
00:04:29,000 --> 00:04:34,000
What are the kind of things that, whether it was Deutsche Post or other uses that you're

94
00:04:34,000 --> 00:04:37,000
seeing or thinking of, like what are people using the Swordfish for?

95
00:04:37,000 --> 00:04:44,000
Since Swordfish is actually a framework, it's not a complete ESB, I don't see any limitation

96
00:04:44,000 --> 00:04:45,000
regarding its use.

97
00:04:45,000 --> 00:04:49,000
So you can use it for pretty lightweight applications or you can use it for heavy enterprise applications.

98
00:04:49,000 --> 00:04:52,000
It depends on the kind of plugins that you install inside the framework.

99
00:04:52,000 --> 00:04:57,000
Because the framework doesn't mandate any specific implementations.

100
00:04:57,000 --> 00:05:01,000
For example, you could do completely without registry and just use local service information

101
00:05:01,000 --> 00:05:02,000
to make it service costs.

102
00:05:02,000 --> 00:05:06,000
Or you could use an enterprise registry for large enterprise settings.

103
00:05:06,000 --> 00:05:07,000
Right.

104
00:05:07,000 --> 00:05:08,000
So there's no limitation.

105
00:05:08,000 --> 00:05:12,000
Another thing that's often associated with SOAs is the, you know, the WSTAR specs.

106
00:05:12,000 --> 00:05:13,000
All the big web services specs.

107
00:05:13,000 --> 00:05:14,000
Yeah.

108
00:05:14,000 --> 00:05:20,000
And that's another interesting sort of different take on people who, on SOA platforms that you

109
00:05:20,000 --> 00:05:23,000
will have is sort of how much, how web servicey they are.

110
00:05:23,000 --> 00:05:27,000
And so like how, how does sort of this, the web service standards fit into Swordfish?

111
00:05:27,000 --> 00:05:29,000
Right now we're pretty web servicey.

112
00:05:29,000 --> 00:05:35,000
I wouldn't say we're confined to web services, but the current implementation and the current

113
00:05:35,000 --> 00:05:39,000
components that we deliver as part of Swordfish are completely geared to our web services.

114
00:05:39,000 --> 00:05:42,000
But we're going to add things like distributed OSGI later.

115
00:05:42,000 --> 00:05:43,000
It's on the roadmap.

116
00:05:43,000 --> 00:05:48,000
But the need our customers have right now is web service technology.

117
00:05:48,000 --> 00:05:50,000
And this is why we're quite web servicey at the moment.

118
00:05:50,000 --> 00:05:55,000
I'm not going to put out the list of service, of standards that we support, but pretty much

119
00:05:55,000 --> 00:05:56,000
everything.

120
00:05:56,000 --> 00:05:57,000
Right, right.

121
00:05:57,000 --> 00:06:01,000
We were talking before we were filming a little bit that you guys had six sessions about

122
00:06:01,000 --> 00:06:03,000
Swordfish here at EclipseCon.

123
00:06:03,000 --> 00:06:08,000
And I'm always curious when people announce something, one of the ways I'm always, you know,

124
00:06:08,000 --> 00:06:12,000
trying to figure out what the reaction to it is, is by what questions people are asking about it.

125
00:06:12,000 --> 00:06:18,000
The question we get asked most is what the differentiating factors are.

126
00:06:18,000 --> 00:06:21,000
Because there are many other open source SOA solutions out there.

127
00:06:21,000 --> 00:06:25,000
So what differentiates Swordfish and other open source frameworks?

128
00:06:25,000 --> 00:06:32,000
And the answer to that is we're building upon existing open source frameworks.

129
00:06:32,000 --> 00:06:35,000
And we add features that we're missing in enterprise environments.

130
00:06:35,000 --> 00:06:41,000
So we've learned from the experience at Deutsche Post that things like integration of a runtime

131
00:06:41,000 --> 00:06:46,000
registry, extensive monitoring, remote configuration are things that large enterprises really need

132
00:06:46,000 --> 00:06:48,000
to run, to successfully run the SOA.

133
00:06:48,000 --> 00:06:51,000
And this is missing in things like service mix, for example.

134
00:06:51,000 --> 00:06:52,000
So we're adding that on top of service mix.

135
00:06:52,000 --> 00:06:57,000
It sounds like part of what you're getting at is what I would call sort of the operation side of having an SOA,

136
00:06:57,000 --> 00:07:00,000
that it's certainly a big task.

137
00:07:00,000 --> 00:07:05,000
But one thing to develop something that would be an SOA or uses SOA techniques.

138
00:07:05,000 --> 00:07:09,000
But then when you actually put it into runtime, there's a whole other set of concerns that you have

139
00:07:09,000 --> 00:07:13,000
when you give it to the people who are now in charge of making sure it's healthy.

140
00:07:13,000 --> 00:07:16,000
And so what are the kinds of things that Swordfish has to offer for that?

141
00:07:16,000 --> 00:07:23,000
For example, we provide a facility to monitor what's going in inside your SOA.

142
00:07:23,000 --> 00:07:29,000
To collect events and then you can, for example, add components that correlate events,

143
00:07:29,000 --> 00:07:37,000
complex event processing engines to correlate events and, for example, calculate KPIs based on those events.

144
00:07:37,000 --> 00:07:39,000
So something that large enterprises need.

145
00:07:39,000 --> 00:07:43,000
I guess it's been a few years now, but Eclipse has really moved strategically.

146
00:07:43,000 --> 00:07:48,000
You know, the Eclipse Foundation and the projects it works on into doing runtimes, if you will,

147
00:07:48,000 --> 00:07:51,000
instead of, as we were talking about at the beginning, just being UI focused.

148
00:07:51,000 --> 00:07:56,000
And so, obviously, you know, Swordfish is a runtime environment, a backend sort of thing.

149
00:07:56,000 --> 00:08:02,000
And how, I mean, how, in respect to, you know, the Eclipse ecosystem and community,

150
00:08:02,000 --> 00:08:05,000
how is Swordfish sort of fitting into that, expanding into the runtime area?

151
00:08:05,000 --> 00:08:10,000
First of all, it builds upon existing Eclipse runtime technology, such as Equinox.

152
00:08:10,000 --> 00:08:16,000
Equinox is the common basis for all Eclipse runtime technologies, and it definitely builds upon Equinox.

153
00:08:16,000 --> 00:08:23,000
But we also see that there are a lot of other projects in the runtime space that could probably make use of Swordfish.

154
00:08:23,000 --> 00:08:30,000
One noted example is Smila, Smila project, which creates something like a semantic search kind of thing.

155
00:08:30,000 --> 00:08:34,000
And they definitely have a need to interface to web services.

156
00:08:34,000 --> 00:08:38,000
And Swordfish is exactly the kind of framework they could use to do exactly that.

157
00:08:38,000 --> 00:08:39,000
Well, that sounds great.

158
00:08:39,000 --> 00:08:41,000
Well, thanks for taking all this time to talk about Swordfish with us.

159
00:08:41,000 --> 00:08:42,000
Thanks for giving us a chance to talk about it.

160
00:08:42,000 --> 00:08:43,000
Absolutely.

161
00:08:43,000 --> 00:08:44,000
Thank you.

162
00:08:44,000 --> 00:08:45,000
Absolutely.
