Skip to main content

Comment lines: Rachel Reinitz: Developing skills for the SOA world -- an expert who's been there tells all

Rachel Reinitz (rreinitz@us.ibm.com), Distinguished Engineer, IBM
Rachel Reinitz is an IBM Distinguished Engineer with IBM Software Services for WebSphere and a member of the IBM Academy of Technology. She has built much of IBM’s internal and external intellectual capital and education on SOA, Enterprise Service Bus, and Web services. Rachel focuses on how to get started with SOA and ESB best practices. She consults with clients and ISVs on how SOA and ESB can be used to achieve their business and technical objectives. She is a frequent conference presenter and written many developerWorks articles on ESB and Web services. Rachel lives in the Bay Area in California, and enjoys hiking, socializing, and international travel.

Summary:  The scope of Service Oriented Architecture can be intimidating to anyone trying to develop SOA skills. But simply knowing your role, and understanding the breadth, depth, and experience you need to have can get you well on your way to mapping out your success with SOA.

Date:  09 May 2007
Level:  Introductory
Activity:  1019 views
Comments:  

From the IBM WebSphere Developer Technical Journal.

Need help finding your way?

I have had the pleasure of working with my colleague Andre Tost for several years now, and when he told me about the Comment lines article he was writing, Are you an SOA Expert?, I thought it was such a good idea that I decided I would expand on his article when I had an opportunity to contribute to this column. In his article, Andre talked about all the skills an SOA expert needs to be successful. Here, I want to share with you some thoughts on how to build those skills so you can be successful, along with some thought on my own experiences down this very path.

Within IBM, I am considered an "SOA expert." Even so, while I am able to talk about all of the topics in Andre's article (and I actually suggested a couple of them!), the depth at which I can advise on each one is really quite variable. In fact, as I read through the exhaustive list of skills outlined in Andre's article, I grew concerned about the height of the SOA knowledge bar that he was setting (for myself and for others) -- but then was relieved in his final section when he stated: It is really not possible to understand every aspect of [SOA] to the last level of detail, so all we can do is specialize on certain parts of it, while maintaining a good understanding of the overall picture -- and that is where this column comes in.

Depth, breadth, and experience

What role in the company matches the definition of "SOA Expert"? Well, Andre and I fulfill the role of SOA consultant, working with clients to implement SOA using IBM's software products. Consultants advising or mentoring customers on SOA need to have the combination of depth, breadth, and experience that Andre talks about. In a company actively adopting SOA, a senior member of an SOA Center of Excellence (COE) would also need these skills, as would the overall technical leader for an SOA project, who needs to have both broad and deep skills. For other roles in a company adopting SOA, such as architect, developer, and assembler, individuals should have an awareness of all the topics mentioned in Andre article to maximize effectiveness, but more than likely would have depth in a just some of them.

How do you develop expertise?

There are some general ways to approach developing and deepening your skills. I do a lot of mentoring, have designed much of our internal SOA training, and of course have the personal experience of continuously updating my own skills. Each of us has our own personal preferences regarding how we like to learn -- I like hands-on experience and classroom education better than self-study -- so I will cover a variety of options. Realize, however, that the variety of ways to learn and specific resources is much greater than the few suggestions I make here, so be sure to explore other options that are available to you. This article is meant to get you started and is by no means comprehensive.


The experience of learning

In my opinion, there is no better form of learning than executing projects under an experienced leader or consultant. With any new experience, you learn through the challenge -- sometimes struggle -- to get the task completed. But while you can learn a lot on your own diving into an unknown area, your education can be greatly accelerated when you have an experienced person to check in with or to lead you. It is much easier to learn the right way, the wrong way, and the best way through mentorship.

For example, one of my all-time favorite projects was developing a proof-of-technology for a bank using ServletExpress alpha code back in 1997 (ServletExpress was the servlet engine that became WebSphere®). This was also my first Java™ project. I partnered with Dave Stokes from our Toronto lab who, thankfully, knew a lot more Java than I did. We struggled through using the code with no documentation and survived through daily calls with the ServletExpress development team. We ultimately finished the project and emerged from the experience true servlet experts!

While I learned a lot on that project, the knowledge I gained was a result of trial and error and many long hours.

In 1998 and 1999, Kyle Brown and I developed a WebSphere architecture workshop, which we run as a focused session with clients where they come in with requirements, proposed architectures, and projects. During the workshop, we dig into the architecture and project details, often pulling in some of the deepest IBM experts, as needed. Kyle was the lead for the initial workshops we did and every time we ran one together, I increased my expertise on J2EE™ best practices, WebSphere Application Server, applying patterns, structuring a project plan, and much, much more. To this day, I think there are few better learning experiences available within IBM or for clients than through these focused architecture workshops our team runs with lead experts -- today, we continue to run them for WebSphere products, SOA, ESB, Portal, security, and many other topics. The workshops have been a great tool for deepening the expertise of many of our lead consultants and lead architects of our clients.

Education

I also like formal classroom training. I find the opportunity to ask questions of a knowledgeable instructor and hearing the class discussion invaluable. To maintain the deepest skills on our products and key technical topics (like SOA), we in the Software Services for WebSphere group invest a lot of time in education, much of it intense classroom courses. Our internal education is the basis for the external training courses that IBM offers. In our SOA architect education, we have team exercises to focus on digging into topics collaboratively. In our product courses, we have extensive hands-on labs. Classroom education becomes particularly critical when adopting a brand new technology or product. The most valuable professional classes I took were a series of courses on object-oriented programming and Smalltalk back in 1994, and in 2005 at our WebSphere Process Server two-week bootcamp.

For our consultants and for our clients, we have created training paths based on SOA roles. These roadmaps are available from WebSphere Education. For example, here is an example for the Integration Developer role (which includes the customer version of the two-week WebSphere Process Server bootcamp I mentioned):


Figure 1. Integration Developer training path
Figure 1. Integration Developer training path

A full list of IBM's SOA training (including products) is available at Service Oriented Architecture (SOA) Education.

But as I mentioned earlier, education is an individual thing. The personal curriculum you put together for yourself can be a combination of on-line training and experimentation. For experimentation, I particularly like following tutorials or an article series, but I also know many people who like to dig into the topic by creating their own examples. The advantage of independent education is that it is self-paced and can be attended when you have time. IBM has some fee-based Web-based training courses available, along with a variety of free education offerings. For example we have a developerWorks tutorial series on Understanding Web Services Standards, with one recent installment on WS-Policy. For more formal online SOA Architect training, a series of three classes are currently available:

  • SW717: Introduction of the Value and Governance Model of Service Oriented Architecture (free)
  • SW718: Design SOA Solutions and Apply Project, Technical, and Operational Governance (fee-based)
  • SW719: Technologies and Standards for SOA Project Implementation (fee-based)

Find these and other SOA-related courses at WebSphere Education.

Conferences and events

Another excellent way (and one of my favorites) to keep up to date with the latest advances in SOA and related technologies is to attend conferences. I learn a tremendous amount by attending sessions that address topics that interest me, and by taking advantage of being able to network with the experts. I was responsible for organizing the SOA track for our recent internal services conference. At the core of the track was a set of fundamental sessions focused on updating our consultants on SOA advances. The topics I focused on as critical for our SOA-focused consultants who already have SOA experience are:

  • The business side of SOA
  • Rational® Unified Process for Service Oriented Modeling and Architecture (RUP SOMA)
  • IBM's methodology for conducting SOA maturity assessments
  • Update on the SOA Foundation products
  • Update on ESB
  • Overview of WebSphere Service Registry and Repository
  • Overview of WebSphere Business Service Fabric
  • SOA Performance Best Practices
  • Update on WebSphere Web Services support
  • IBM's approach to SOA Governance
  • IBM's methodology for conducting SOA maturity assessments (Service Integration Maturity Model).

I also had optional sessions covering all of our SOA Entry Points and many other topics, including:

  • SOA future technologies
  • Web 2.0
  • Rational tooling
  • Tivoli SOA management
  • Service versioning
  • An interactive advanced SOA workshop with team exercises
  • Demystifying collaboration services
  • Information as a service.

So that's very nice for IBM consultants, but how does this help you? Glad you asked! On May 20-25, you have a tremendous opportunity for an even better conference education on SOA: the IBM IMPACT 2007 event being held in Orlando. What makes it "even better"? Well, the organizers of the technical track took the best sessions from our internal services conference and expanded beyond those sessions, adding tracks for Business Leaders and IT Executives, and tracks on Alignment of Business and IT. As a result, IMPACT has many more sessions, all the IBM services and development SOA session leaders from our conference (plus many more), customers presenting their own experiences, and exciting keynote and mini-keynote speakers.

I debated whether to include session recommendations here for those who want to attend, but it's very difficult to do so because THE expert from IBM is presenting on each topic. By that I mean we have THE lead architect for WebSphere Web services, THE lead architect for ESB, THE services leader and THE lead developer for WebSphere Services Registry and Repository, and so on, presenting. I started to make a list of sessions that I personally would like to attend, but the list quickly got too long to include here. (By the way, Andre will be presenting with me on The Top 10 SOA Issues and How to Address Them, and I'm presenting on several additional SOA and ESB topics as well, so if you are there, feel free to stop us and ask any questions you might have on our articles.)

Get more information about and sign up for IMPACT now.

In addition to conferences, IBM and other vendors frequently host local one-day events for specific audiences where you can learn about SOA in general or about specific SOA topics, such as SOA governance. I've been involved in developing and presenting at the SOA Architect Summit, which is for enterprise and lead architects to learn about SOA reference architectures and adoption. We received very good feedback on the events we ran last year and this year have expanded the program to cover additional audiences and specific topics. IBM schedules these types of events all over the world throughout the year. Check the schedule of SOA events frequently to register for and attend events close to you.

Another alternative to conferences and formal events is local user groups and industry events. I live in the San Francisco Bay Area, which hosts more events then I could possibly attend. For example, SDForum runs a monthly Web services SIG. Look around at what is happening locally and you might be surprised to find some excellent resources.

Books, blogs and more

Of course, there are many good books to read on SOA and related topics. I tend to read books by colleagues who I know are good writers and whose ideas I'm interested to learn, so my list of favorites reflects my biases:

But wait! There's (always) more!

What are other ways to keep up with what is happening in SOA? My first source is to check out the latest articles on developerWorks. I routinely print them and read them while I wait in lines or for planes to take off. I'm not a big podcast user, but if you are, developerWorks also has a podcast series that includes many key SOA topics. The Web Services Interoperability Organization is a key resource for seeing what standards are gaining wide adoption -- if the standard is in a profile, then it's getting adoption. Also WS-I is a good source for testing tools and sample applications.

But honestly, my best source for learning about SOA are my colleagues. For this article, I got great input from Chris Ferris, who is on our Standards team, on some of his favorite blogs. There are two David Chappells who write interesting blogs: one who just joined Oracle so we aren't sure where his blog will be, and http://www.davidchappell.com/. Steve Vinoski, who writes in IEEE DSO and is between blogs at the moment is another blogger that Chris recommends. Good blogs to know about for what is happening in the standards world are from Kelvin Lawrence, CTO of IBM's Emerging Internet Software Standards, and our own Bobby Woolf, whose developerWorks blog covers many SOA topics.


Now what?

So my advice to you who desires to learn SOA:

  • First, consider what your role is, and then determine what depth of expertise you need on the topics described in Andre's article.
  • Seek to work on a project with an experienced lead. If your team is all new to SOA, I recommend bringing in an outside expert to mentor and enable the team on SOA.
  • When you are adopting technology that is new to your team (or a new product that is different than those you've used in the past), it is critical to invest in skills. Based on my experience, I recommend classroom education.
  • To broaden or deepen your skills in a technology or product you have some familiarity with, I recommend conferences and events. IBM IMPACT is a great opportunity to build your SOA skills.

More than likely, you will continue to keep up with some aspects of SOA on a continuous basis. You will investigate and evaluate many of them, and each time determine what you should focus on learning, based on the work you are doing at the time. IBM's developerWorks, the blogs above, and WS-I are all good and important resources for the latest information on SOA.

Finally, I want to end with a thank you to Andre Tost for putting focus on the key topic of what it means to be an SOA Expert -- and for demonstrating again that it is from our colleagues that we learn the most.


Resources

Learn

Get products and technologies

About the author

Rachel Reinitz

Rachel Reinitz is an IBM Distinguished Engineer with IBM Software Services for WebSphere and a member of the IBM Academy of Technology. She has built much of IBM’s internal and external intellectual capital and education on SOA, Enterprise Service Bus, and Web services. Rachel focuses on how to get started with SOA and ESB best practices. She consults with clients and ISVs on how SOA and ESB can be used to achieve their business and technical objectives. She is a frequent conference presenter and written many developerWorks articles on ESB and Web services. Rachel lives in the Bay Area in California, and enjoys hiking, socializing, and international travel.

Comments



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere, SOA and Web services, Architecture
ArticleID=218743
ArticleTitle=Comment lines: Rachel Reinitz: Developing skills for the SOA world -- an expert who's been there tells all
publish-date=05092007
author1-email=rreinitz@us.ibm.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers