|1st International SOA Symposium 2008|
The first international SOA Symposium was held on the 7th and 8th of October in the Amsterdam ArenA. Ironically enough, the abbreviation "SOA" in The Netherlands is the translation of a STD (Sexually transmitted disease). But at the symposium, everyone knew what a SOA ment for programmers: a Service-oriented architecture.
A little background on this article: As some of you already know, I'm a student at the College of Arnhem and Nijmegen Computer science Communication. I'm doing my minor right now, which is about EAD (Enterprise Application Development). Not going into further details here, but a SOA is one part of the EAD. This is the main reason why my fellow students, teachers and myself were present at the symposium.
This post is a review about my personal impressions of each speaker session and the overall symposium, just in case you're planning to visit the next International SOA Symposium and sharing my thoughts. This are the speaker sessions that I've been following.
7th of October, 2008
8th of October, 2008
Sessions marked with an asterisk (*) are explained in further details below.
7th of October
To survive, you'll need stability and adapting. To achieve this, you'll need design your architecture in a good way.
The next improvements for SOA need to be (or already are) made, helping it evolve:
A SOA is more than just a webservice
The Domain inventory design pattern doesn't need to be enterprise wide. You can specify each domain, where they each have a different pattern.
According to a research of IBM, the change rate of software in 2006 was 83%. Now, in 2008, this rate is 98%.
To achieve smarter business outcomes, you'll need a smart SOA. This means:
The Architecture of Service-Orientation
There we go: First session, first day and starting with a big name in the world of SOA. I entered the room with high expectations, but it didn't live up to get there.
Probably because it was the first session on the first day and having a big name was the reason the room was over-filled with people. Some had to stand and I had to sit almost in the back: The voice from Thomas Erl couldn't be heard properly and I could only see the top-half of the presentation slides.
Thomas might be a SOA guru, he speaks exactly how he writes his books: Straight-to-the-point, no jokes what so ever; Pretty boring actually. If you want to keep the attention of all your listeners, you really should give your presentation a bit more life.
Despite these downsides, I must say this session was an excellent start of the day. The high-quality of the session gave a good impression on what I could expect to hear the rest of the day. I learned a lot from this lecture. Another upside was the usage of lists in the presentation: It is easier to remember than dull sentences.
The 7 goals of service-oriented computing are:
8 principles of service orientation:
4 common types of SOA:
Understanding SOA and Web 2.0
Sandy (together with Mark Little) was one of the best speakers of the whole symposium. Not because the contents of the presentation were the best, but the way she presented it was a lot better than her fellow colleagues. Usage of charts, not having too many words on one sheet, using something else than the "plain-and-boring" default Powerpoint theme, but (especially) her enthusiastic way of lecturing was a real joy.
One (minor) downside: She didn't had enough time to finish the whole presentation and had to skip some parts. Check the timescedule and come prepared.
One of the most important things about a SOA, is how people interact with it.
Research shows (based on 6550 clients of IBM), that 61% use a foundational approach to SOA. 29% extend End-to-End, while less than 8% use a transform approach. Less than 3% adapt dynamically.
SOA is about reuse, not rip out and re-build.
52% of the people start with a dashboard to connect with services. The dashboard is filled with widgets.
Enterprise Mashups with SOA
If you're searching for a super fast speaking lecturer that tries to place as many words as possible on one slide, Umit is your guy (or actually: A girl).
The presentation contained (a lot) of information, but I already knew most of it. One of the most remarkable things (that I really did like!) was that she said dynamic runtime languages are getting really important.
A typical web application consists of a
Dynamic runtime languages get important (Ruby, Groovy etc.), just like the reuse of components (For web and desktop). Thick (Wealthy) clients (Not stateless) are used.
What are the implications for enterprise applications?
Composition trends for enterprise applications
Two styles of client-side composition:
A quote from Tim O'Reilly: We are entering a new world where data is more important than software.
Using REST and WS-* Together for SOA
Just like I mentioned above: Mark (and Sandy Carter) was one of the best speakers of the whole symposium. The guy from RedHat made some funny jokes, made references / comparisons to the real world and just had a good presentation. You could follow him (without losing attention) the whole time he was lecturing.
Mark gave some good reasons why you should (or should not) choose for REST or WS-* in a SOA. No downsides in his presentation.
When implementing a SOA, two techniques are popular: 1) WS-* and 2) REST (Mainly over HTTP, but doesn't need to be HTTP).
The laws of a distributed system are:
What to use when:
8th of October
Developing Killer SOA Apps with Java EE
Finally: The first (and, sadly, only) lines of code of the whole symposium got a chance in this presentation. I've been using NetBeans in my minor too; Not to create code, but to create diagrams.
Prakash did a live demonstration on how you can create a webservice using BPEL with NetBeans, but unfortunately it gave an error. Tip: Don't do a live presentation unless you're 100% sure it'll work. If you're not, you could better do a screencast: Just to be safe.
What are services?
The benefits of a SOA are:
BPEL orchestrates partner web services. It also provides standard-based orchestration.
The latest version of NetBeans is ideal to create a service using BPEL. The Java EE5 code will be generated while you're designing your service.
Design Patterns for Web Service Contract Versioning
Another room where I could only see half of the presentation slides. My fellow students didn't find this presentation really interesting, but I did. I think compatibilities between different versions of an application is really important and really need a standard way of doing so, especially in a SOA.
The presentation started late and ended late, which is a real bad thing at a symposium like this one. When you don't get the chance to directly go to the next presentation, you might miss some important things. Please stay on schedule.
The biggest challenge in services is change.
When you have to deal with version compatibility, think about the following:
There are no real standards for version identification. The best way to do is, is making use of a namespace.
A couple of examples of backward compatible changes:
3 common strategies include:
Web Services and Transactions
My second presentation from Mark because I liked his previous one. Once again I wasn't disappointed: His clear way of telling things, making references to the real world (comparing a SOA with a marriage -> genius!) really makes it worth visiting his presentations.
Additionally, I really liked the way transactions should be implemented in web services, since I know how to use transactions in a database like MSSQL. It was really informational to know how they could be used in a SOA.
Why should you use transactions?
Fault tolerance techniques can be replication of resources, or using spheres of control (No partial completion of works).
A transaction is a mechanistic aid to achieve correctness.
ACID transactions implicitly assume that there is a closely coupled environment and short duration of activities.
There are two kind of transaction models: Atomic transaction and business activities.
The symposium was mainly targeted at the business folks. All kind of innovations were explained and "how it should work", but I only saw a couple of lines of code. I was secretly hoping to use my laptop at some point to actually create something, but it didn't happen.
The Amsterdam ArenA was the location of the symposium: A really nice place indeed, but not a good location for a symposium like this. You could hardly could see any of the presentation slides (Powerpoint), only if you're sitting in the front row you would have a good view. Two solutions for this: The floor has to be sloped (Like in a cinema), or the beamer has to aim higher.
I really don't get it: At school we're getting bashed when our presentation is too fast, too much text on the slides, takes too long etc. Almost every speaker that I've seen on the symposium had way too much text on the slide, spoke too boring, spoke too fast or took too long. Yep: Go back to school and crack up your presentation skills.
The food (incl. drinks and service) was absolutely delicious. Nothing to add here: First class.
The length of the presentations (2 x 45 min. - break - 2 x 45 min. - break - 1 x 45 min.) was actually really good. Not too long, but not too short either. Too bad most of the times the speakers would go over these 45 minutes, or there wasn't any time left for questions. The length of the overall symposium (2 days) was fine: 3 days would be too long.
Conclusion: Yes, I learned a lot of new things that are really interesting and have a high potential of making it in the future. I do really hope the next symposium goes more in technical details (for guys like me).
Tags: soa service oriented architecture international symposium review programming
Interested in this topic? You might enjoy another article I've written called
|< Prev||Next >|
|Or try the sitemap|