While I wandered, head down, among the detritus of the post dotcom era, a
new world order was forming. When I looked up, I found the technical world
rallying under a new banner Web services. Savior or hype? I had to know.
What better place to learn than the world's largest Web services event? So
off I went to SYS-CON's Web Services Edge 2002 East - International Web
Services Conference & Expo. While this was also the JDJEdge and XML Edge
Expos, the main thrust was Web services. The keynotes all centered on Web
services and most of the Java and XML seminars also had a Web services tilt.
In addition to an expo floor with dozens of vendors offering products
and services either supporting Web services or claiming actually to enable
them, there were 60 hour-long seminars divided among five tracks Java, Web
Services, XML, IT Strategy, and .NET. On top of all this, Sun ran six
day-long courses from their Java University Program.
The Monday was dedicated solely to Java University. I took the "Web
Component Developer: Certification Fast Path" course about servlet and JSP
technology. Any code-level course where you don't get to write code is at a
disadvantage. But, for what it was, I found the course very useful. It's
stated goal was to cover the material that's required on the certification
exam and give pointers for further study. It met this goal admirably, and
clarified, for me, a number of issues I was unclear on in these
technologies.
Among the technologies that had passed me by was XML. Sure, I've dabbled
in it here and there, and edited my deployment descriptor files, but I never
did anything meaty with it. So Tuesday found me in the day-long "Developing
Solutions Using Java Technology and XML" course, presented by Todd Greanier
of Compass Technologies. This course was fantastic. It started with a very
thorough XML primer, which was exactly what I needed. Then it detailed which
Java technologies are available for use with XML. Overall, I was very
impressed with this course and its presentation.
The trade-off for taking this XML course was that I missed the first day
of the expo, including the keynotes and all the seminars. Initially, I was a
bit concerned about this, but unless day one was very different than the
next two, I don't believe I missed too much. While I learned a lot of
specific things on the Wednesday and Thursday of the expo, a common thread
ran through the keynotes and seminars. Summed up, it might read like this:
Web services holds a lot of promise, but there are vast areas that remain
undefined. I'm getting a little ahead of myself here, so bear with me awhile
and we'll come back to this point.
My original question was: Is the concept of Web services just hype? The
simple fact that this conference existed inclined me to believe that there
had to be something more. The dozens of vendors I mentioned earlier spent
big money developing supporting products. While it is possible that they are
merely chasing the hype machine, I sense otherwise. Please don't get me
wrong. I'm in no position to declare Web services the be-all and end-all.
But there is something there.
Eric Newcomer of IONA gave a very powerful keynote on Wednesday
entitled, "Web Services: Integration Technology for the 21st Century." He
led with the statement that there are currently too many definitions of
precisely what Web services is. While this may be strictly true, a fairly
standard definition emerged during Newcomer's speech and in all the other
talks I attended. Web services deals with the space between applications. It
is a service-oriented architecture using XML and XML-based standards to identify,
describe, define, and execute business processes. Newcomer's holy grail is
the built-on-the-fly business applications assembled from pluggable Web
services sitting out there on the Web ready to go.
Now, this new world of interoperability will have monetary benefits.
Without increased ROI, why would our bosses want to spend money on this
stuff? Make no mistake, they will be spending the money. A slide from the
"Practical Experiences with Web Services and J2EE" seminar quotes surveys
from groups like Gartner, Jupiter Media Metrix, and InfoWorld showing that
money is heading this way.
One of the primary cost savings with Web services, according to
Newcomer, is that it will deskill programmers. We won't need mAd SkILz to
integrate applications anymore. Business users can just pick from a menu of
functionality and, voilà, a new application. We as developers may bristle at
that; you may say that as a developer myself, I'm in outraged denial. But,
this review will look at the undefined portions of Web services and the
competing standards under development that are meant to address them. Look
at that and then tell me how your accounting department is going to make
their own applications Web servicesenabled. We will still be needed. There
really is no alternative.
Another problem with Newcomer's pluggable application vision is that we
are nowhere near it. When talking about companies already using Web
services, speakers repeatedly coughed up phrases like "most" and "90%" and
"the vast majority" in front of "are using it for internal integration
rather than exposing business processes to their partners." That this is the
case makes sense if you look at what Web services covers and, more
tellingly, what it does not.
What everybody seems to agree on is that Web services is currently
defined by three core standards: the Simple Object Access Protocol (SOAP),
the Web Services Description Language (WSDL) and Universal Discovery,
Description and Integration (UDDI). WSDL is based on XML Schema and a WSDL
document is an XML document that defines and describes a service. A SOAP
message is an XML document with the payload, delivering the data for the
service to operate on. And UDDI is the yellow pages of Web services. It
tells us where to find the services we need. While SOAP and WSDL are not yet
W3C standards, they have become de facto standards and soon will be
official.
Sounds great. It is, in a lot of ways. Remember that most companies are
still using Web services for internal integration projects. The reality is,
most enterprises have disparate systems legacy, J2EE, Microsoft all of
which need to speak with each other. If you give them each a way to write
SOAP messages for their outgoing information and read SOAP messages for
incoming data, you've made them talk with each other. There is value in
that.
However, adoption of interenterprise Web services is hampered when you
consider what is not defined by Web services. Little things like security,
workflow, and transaction support. Web services currently does not address
these issues in a standard way. Anne Thomas Manes of Systinet gave a talk on
"Developments in Web Services Standards." Manes said that Web services needs
to address the following issues before it can be truly ready for prime time:
management, security, context, delivery, workflow, choreography, service
agreements, service characters, discovering, business system registration,
and standards and conventions. That's a pretty hefty list of things in the
way of widespread adoption. There are standards bodies addressing these
things: W3C, Web Services Interoperability Organization (WS-I), and
Organization for the Advancement of Structured Information Systems (OASIS)
are just three. OASIS has 30 tech committees alone working on Web services
issues.
Manes wasn't the only one to make the point about competing standards.
Even "Practical Experiences with Web Services and J2EE," by Hugh Grant of
Cape Clear, stressed these issues. The J2EE thrust of that hour was that you
can translate your EJBs into Web services using WSDL to describe them, and a
Façade pattern to cover multiple beans if they combine to a single service.
Beyond that, his talk centered around the standards, which I found very
telling.
I can give you the alphabet soup of proposed standards, but I think that
would cloud the real issue. You have to realize that many of the standards
under development compete with one another. As we know, multiple standards
to address a single issue mean there is no standardization. This is a very
risky place to be, because it allows vendors to fill in the gaps. This is
where Web services is now. There are too many holes, and vendors, such as
Actional, SilverStream, and Sonic, all have products that will come in and
fill many of those gaps. Many other vendors offer more tailored solutions,
some addressing security, others workflow.
Phillip Merrick of webMethods gave a keynote entitled "Enterprise Web
Services: An Evolutionary View of Web Services." He made a crucial point
the history of many technological issues is this: proprietary solutions
(immature), proprietary solutions (mature), standardized solutions
(immature). From here, there is a crossroad. We can either go to standards
(mature), which would be ideal, or standards plus proprietary adds from
vendors, which would be bad. It would fracture the Web services market and
more or less kill the interoperability promise.
Web services is at this crossroad. If what I saw on the expo floor is
any indication, we are going down the bad road. If you don't want to see
that, take Merrick's advice. Demand standardization. Keep your vendors
honest. If we can do that, the promise of Web services can be met. And that
would be a fine thing indeed.
Even in the face of all the seminars and keynotes, I managed to spend
some time on the expo floor, speaking with the vendors, learning a bit about
what they had to offer. The two products I found most fascinating deal with
XML in general, giving them a broader applicability than the Web
servicesfocused products.
First, there is Allora from HiT Software. Coming in winAllora (COM) and
jAllora (Java) flavors, this is a tool for mapping XML to relational data.
Even my limited dabbling in XML showed just how different these beasts can
be. While it is easy enough to take a JDBC ResultSet and write it all to an
XML document, I can see that this would get very tedious for more than the
odd table or two. The Graphical Mapper shows your XML Schema or DTD on one
side and your database schema on the other, allowing you to map your
relationships at design time. Plus, Allora comes with mapping, databinding,
and messaging APIs to make it useful at runtime. These two features alone
might be worth the price of admission, but Allora goes one step further it
includes a set of SOAP interfaces so you can expose it as a Web service. The
holiday weekend and publishing schedules have kept me from installing and
running it at home, but I was very impressed with the hands-on demo of the
Graphical Mapper.
The other product that caught my fancy was Forum System's XML Web
Services Security Appliance, which deals specifically with securing XML
documents. This is a hardware device that plugs into your network between
the firewall and the application server. As we know, XML is basically
self-describing data. An element called "password" or "card number" kind of
screams out to the world that there's good juicy data there. This is rather
a gaping vulnerability that the security appliance addresses by encrypting
the data, either in totality or on an element-by-element basis, and protects
it from end-to-end.
I would be remiss if, in the focus on Web services, I failed to point
out that the conference also had a Java focus. The best Java presentation I
went to was given by Rick Hightower of Trivera. His talk on "Java Tools for
Extreme Programming" was well presented and rather informative. Rick focused
on the testing and continuous integration portions of XP, discussing JUnit,
Ant, and Cactus in detail. His talk proved to me that no matter what you are
doing, no matter what you call your methodology, testing is invaluable and
that these tools will make your life easier.
On Thursday there was a panel discussion on .NET versus J2EE. The stars
were Simon Phipps, chief technical evangelist at Sun, and Barry Gregory,
principal technology specialist from Microsoft. Sharing the stage with them
were Sean Rhody, editor-in-chief of Web Services Journal, Mike Kovach of
FullTilt Systems, and the editor-in-chief of these very pages, Alan
Williamson. Because this conference had a .NET track (which, admittedly, I
did not take advantage of), I had hoped for a fairly well-reasoned
discussion. Some good points were made on both sides. Sadly, most good
points were buried in bickering and the entire discussion was peppered with
not-so-thinly-veiled snipes between the two camps. Maybe it was naïve of me
to expect more, maybe it would have been better to leave representatives of
Microsoft and Sun out of the discussion, but as it stood, the whole thing
left a sour taste in my mouth.
Finally, right next to the Web Services Edge was PC Expo/Tech-
XNY and attendees of one got admission to the other. While this may seem
like a great deal, free admission to PC Expo after all, it really took away
from the power of Web Services Edge. At the risk of sound horribly l33t, the
net effect was hordes of mere users, wearing "Gimme Free Stuff" buttons,
gawping like tourists at booths displaying things they wouldn't understand
even if they wanted to. They clogged the aisles, wasted exhibitors' time,
and in some cases kept us Web Services Edge attendees from speaking to the
vendors. What's more they glommed up more than their share of the goodies.
And let's face it, to tech folk like us, corporate toys are second in
importance only to free food.
Summing up: Web services exists in some form. It is coming. You can
either help define it or live with what happens out there. But if you're
reading this magazine, you'll end up working with it on some level. Whatever
shape this mess takes, one thing is clear XML is the lingua franca of Web
services. Learn it. Live it. Love it. I know I spent a lot of time talking
about what Web services isn't. Sometimes, though, that's more important than
learning what something is. Which made my four days at the Web Services Edge
Conference & Expo invaluable.
Author Bio
Steven Berkowitz has done development and project management for Fortune 100
companies, startups, and nonprofit organizations.
sjb47@yahoo.com