It seems like not a day
goes by lately in which
some new story of
malfeasance in office
doesn't come out -
whether it's lying under
oath, using the services
of a call girl, or spying
on other officials in the
government in order to
further a personal
agenda. Clearly, our
elected officials don't
have a clue about the
meaning of governance.
I had the opportunity
recently to speak at a
Microsoft event on Web
2.0. It was an
interesting evening, with
speakers from several
organizations discussing
various issues and
strategies that could be
used to move the bar
forward on the Web. Now
if you're a faithful
reader, you've seen me
rant every so often about
the inadequacies of
browser technology when
it comes to delivering
applications over the
Internet.
As a student of physics,
Albert Einstein is one of
my personal heroes. Aside
from being one of the
most brilliant minds to
ever contemplate the
universe, Albert had a
way with words. One of
his quotes strikes me as
particularly apropos for
this month's issue - 'Any
intelligent fool can make
things bigger, more
complex, and more
violent. It takes a touch
of genius - and a lot of
courage - to move in the
opposite direction.'
Last month I wrote about
the future, what might be
ahead for SOA and beyond,
focusing significantly on
user interfaces. This
month I'm still thinking
about user interfaces and
the impact they have on
the final judge of any
SOA project - the end
user. If you've read my
editorials over the past
few years, you're aware
I'm an absolute opponent
of the browser as a means
of delivering
applications.
At the end of the year,
it's always interesting
to take a moment and try
to imagine what's next.
In this case, I'm not
thinking about whether
the Patriots will win the
Super Bowl, I'm wondering
what comes after
service-oriented
architecture. Although
SOA has been dramatically
hyped as the solution to
cure all ills, it has
still taken a good deal
of time for organizations
to adopt SOA in even a
limited fashion.
Recently I had a chance
to do some training in
France. I participated in
a week of coursework with
classmates from all over
the world. Some were from
France, Spain, Holland,
Sweden, and England;
others were from even
further - the United
States and even India. To
say the least, it was an
eye-opening experience
and dramatic evidence
that standards and
interoperability are
important in all aspects
of our work as
technologists.
I have no children
myself, but I've watched
my nieces and nephew grow
from newborns to walking,
talking, independent
individuals over the
years. To me, one of the
most fascinating parts of
watching a child grow is
seeing them go from their
first tentative, hesitant
steps to toddling around,
grabbing the furniture at
every opportunity but
gaining mobility to
finally running around
and crashing into my legs
more often than I care to
think about.
SOA - which provides
capabilities for loosely
coupling these duplicate
systems, federating the
data between them and
managing the concept of
systems of record - is an
enabler that eases the
pain of bringing two
entities together. Much
like a catalyst that
enables a reaction, SOA
simplifies the
integration requirements
by lowering the barriers
for simultaneous
operation. It also
provides the ability to
provide a common façade
over multiple integration
points, allowing the
indefinite operation of
redundant systems, as
well as for the eventual
retirement of some of the
redundant software.
When Web services first
burst onto the scene,
which in my mind was the
beginning of the SOA
movement, one of the
biggest challenges faced
by early implementers was
the perceived lack of
security. Fear and
uncertainty abounded, and
it was years before the
majority of IT
organizations became
comfortable with the
level of security that
could be provided. What I
find interesting at this
juncture, when SOA is now
a fairly well-established
architectural paradigm,
is that in many ways
Security is the security
blanket (you had to know
this was coming) of SOA.
Recently SOAWorld
Magazine was the host of
a conference on SOA and
Web 2.0 in New York City.
SOAWorld 2007 brought
together an amazing group
of IT professionals who
helped describe and
expand the definitions of
SOA. Web 2.0 is more than
just AJAX. RSS feeds and
blogs provide new ways to
publish and edit
Internet-based content
and form communities.
Flash and a host of other
technologies are going a
long way to provide the
rich Internet application
landscape that may make
the browser truly useable
instead of downright
annoying. In time, the
plug-ins may replace the
browser entirely, which
would be a godsend (in my
opinion at least).
Many recent science
fiction novels deal with
the concept of nanites -
tiny bits of computers
than can aggregate
themselves to form new
larger composites to
assist their host. These
concepts typically relate
to making human cells
self-healing, but they
also have their sinister
aspects, like the
terminator, made out of
liquid living metal in
the last movie, who could
reconfigure himself at
will into any shape, and
recover from any injury.
We all do it from time to
time - forget something,
get it out of sequence -
and experience that
annoying feeling that
we've just done something
incredibly stupid. I
usually arrive at the dry
cleaners to pick up my
clothes, only to realize
I'd left the next batch
behind. Fortunately, it's
not a long drive. But
it's usually because I'm
in a rush, trying to
accomplish multiple
things. If I slowed down
just a second, I might
accomplish more.
Sometimes it seems like
it takes forever for new
technology to be adopted,
and even when a
technology goes
mainstream, it seems as
if people cling to the
old ways long after a
better way has been
shown. Heck, I drive a
car but still have a
couple of horses -
sometimes you just want
the old and familiar
around.
You know, I love an
election year. The drama,
the emotion, the
positioning, it all makes
me think about running
for office myself - or at
least going through the
motions to generate a
large war chest that I
can dip into (I AM from
New Jersey, it's a
time-honored tradition).
Oh, wait a minute this
isn't an election year.
Not that you'd know it
from the slew of
politicians tossing their
hats in the ring. I guess
it's a good idea to get
in the race early if
you're aiming for the
brass ring.
This month I thought I'd
put on my sales hat for a
moment and talk about
what it takes to actually
sell someone on the
concept of using
service-oriented
architecture as the
underlying paradigm for
an organization's
information technology
implementation and
direction. In part this
is because there's still
a good deal of resistance
to SOA as that basis.
One of the most
interesting aspects of
being a consultant is
that I get exposed to any
number of different
facets of system design
in the course of an
assignment. While I tend
to focus more on
application and
integration work, I find
it fascinating to deal
with the concepts of
services in the context
of infrastructure.
In some ways, an industry
is like a country. It has
its citizens, the
corporations, its own
particular nuances that
serve to make one
industry just that much
different from another
(think insurance and
financial services) as to
be distinct, and it has a
language.
There's a guy I know
who's incredibly gifted
when it comes to building
things. I've watched him
repair a barn, build a
new shed, put up a roof -
you name it; if it can be
done with wood and tools,
this is the guy to do it.
And I've never seen him
use a plan - he just
knows what to do.
If I were a lot more
paranoid than I am (well,
perhaps at least a little
more than I am), I might
suspect that the various
free e-mail programs were
a social engineering
attempt by the big
software coalition (yes,
I know, it doesn't exist)
to ultimately change the
way we use our computers.
Nothing is more
enlightening for a
technologist than to
observe development in
progress. We're faced
constantly with a
bewildering array of
choices and tools. We see
specifications on paper
that then become
something completely
different when we
actually get to see them
implemented in actual
software that we then
configure to meet our
needs, or at least we
hope.
As editor, I review a
great many proposals for
articles. A good portion
of them deal with SOA,
which is to be expected.
When I review them, I'm
reminded that there are
two very different views
of SOA, which in my
opinion are both equally
true. I call this the SOA
Dichotomy, because these
views seemingly
contradict one another.
Imagine trying to solve a
puzzle without being
certain what the end
result should look like,
much less how the pieces
fit together. Now imagine
trying to build the
puzzle pieces themselves.
Bit of a challenge? To
say the least! But this
is exactly the situation
facing many business and
IT executives when it
comes to complying with
the increasing number of
standards and regulations
in their industries
today.
It's sometimes funny to
write about
service-oriented
architecture. One of the
things I say often and
believe is that you can't
buy a service-oriented
architecture. SOA is not
just technology, it's
philosophy,
organizational change,
and business
transformation. There's
no place to buy that kind
of dramatic, deeply
impacting change.
I'm sitting in the
airport, waiting for my
end-of-week flight, and
listening to the latest
security controversy.
Apparently the government
has compiled a database
of phone records as part
of their fight against
terrorism - the theory
being that by analyzing
the call patterns and
using some social
engineering, they might
be able to identify
terrorist activity.
If you work in the IT
industry long enough,
you're bound to hear one
particular joke (well,
you'll hear a number, I
want to focus on this
one) - 'What's the only
thing worse than no
architect on a project?'
The answer of course is
'Two or more'. And of
course that's true, since
when you put four
architects in a room, you
get five opinions (at
least one is
schizophrenic) on
anything.
Recently I happened upon
a blog site that had a
discussion of one of my
previous articles, one in
which I proposed a need
for a new 'browser.' The
discussion was very
interesting, but it was
obvious to me I had not
been clear about what I
was asking for. Some of
the folks on the board
suggested that we could
do what I wanted using
Swing. Others realized
that that required an
installed or installable
software distribution,
and fixed on things like
the Ruby language as a
different approach. While
all of these ideas had
some merit, they didn't
capture the true essence
of what I think we need.
Just about every
publication, marketing
brochure, and IT
commercial currently on
parade for your enjoyment
contains some mention of
service-oriented
architecture. If products
were still sold in boxes,
instead of downloaded,
you would see a bright
sticker on the box saying
'New and Improved: Now
with SOA.' Instead of
Fuller brushes, today's
sales wiz now pushes SOA
- it's good for what ails
you.
People who know me would
generally agree I'm a
straightforward guy - I
pretty much just like to
move in the direction
I've said I was going,
rather than try to move
from side to side and
finesse something. So
when it comes to
technology, I tend to
like to go with
technology because it
makes sense, and I
usually assume that most
IT organizations work
that way as well.
If you're old enough, you
probably remember the
whole episode with Al
Haig in the White House,
saying 'I'm in charge
here' during the period
when Reagan was shot. He
wasn't really, but it's a
good illustration of the
concept of confusion, and
how different people
react to situations. How
is this relevant to SOA
and Web services? That's
an excellent question.
It's December, and you
know what that means:
holiday wishes and New
Year's predictions are
due. That's right, once
again we'll gaze into the
WSJ mystic crystal ball
(okay, so it's a
Christmas ornament -
we're on a budget here)
and come up with our
prognostications and
pleadings. So, without
further ado, here's the
list.
SOA - service-oriented
architecture - seems to
be on everyone's radar.
It's rare to walk into an
IT meeting where someone
hasn't bombarded the
audience with the current
buzzwords, and where
someone isn't extolling
the virtues of an SOA.
Somehow, even though it's
not really about a single
application, even
application designers are
'building SOA in.'
To paraphrase, 'I come
not to praise the
Browser, but to bury it.'
Because the cold hard
fact of application
development is that the
browser needs to die.
Immediately. It's already
caused more than enough
damage. This may seem to
be a harsh statement.
After all, the browser
was responsible for the
explosion of the
Internet. It serves many
useful purposes and
people do billions of
dollars worth of business
through it every year.
Seemingly, I should be
praising the browser, not
calling for its
execution.
Like many people in the
industry, I'm torn over
open source software. I'm
not opposed to developers
creating software and
deciding they do it for
the love of programming,
and have no need for
payment - if they want to
give their work away, I
see no reason why they
shouldn't be able to do
so, although I think the
people who want all
software to be free
should first get uniform
agreement from everyone
in the industry to work
for nothing before they
get on that soapbox. Even
though I run a magazine
in my spare time, I make
my living designing
software, and I
personally don't want to
do it for free.
I have a friend who's
very into automobiles. He
gets a new car every year
or two - not expensive
ones, but ones that can
be used in stock racing
(I know I'm getting the
term wrong somehow) and
time trials. He likes to
drive and tries to get
the most out of his
vehicles. Recently, I
went for a ride in his
latest purchase. I'm used
to his having computers
and more gauges than the
space shuttle, but
somehow this one was a
bit different, almost as
if it were intended to
get the most information
to the driver. It even
had a way to measure the
tire pressure, from
inside the car, while
moving.
This column might have
been titled 'on the
SOAPbox,' except I think
I used that one already.
Nevertheless, I want to
discuss platforms.
Politicians used to use
platforms, (real ones,
not some murky promises
that they abandon after
the election) to stand
above the crowd, so as to
be seen and heard better.
This was back before the
days of television and
radio, but still, even
now, everybody loves to
be up on stage, to be
seen. A platform gave
them that opportunity to
present themselves as
larger than life, better,
and right for the people.
When I was in college, I
considered becoming a
teacher, but then the
thought of the pay scale
as well as some time
spent substitute teaching
convinced me that
computers might be a
better way to go. I
mention this because I
never did get the chance
to take any education
courses, so I don't know
if the way we teach the
craft of software
development is wrong, or
just seems that way
because I'm not fully
aware of all of the
issues. If this seems a
strange way to begin
approaching the concept
of enterprise
architecture, stay with
me for a moment.
Sometimes the old clichés
are the best ones. I've
been working with a
number of different
groups and companies
recently, defining and
refining their takes on
service-oriented
architecture and Web
services. In thinking
about the different
perspectives necessary
for a full understanding
of how to use Web
services, SOA, and
business process to
achieve business agility,
I was struck by phrases
like 'forest for the
trees' and '50,000-foot
view.' As usual, what you
think about Web services
and how to use them
depends on what you do
and how it affects your
day-to-day work.
Despite the fact that I
have a toolbox full of
tools, I'm not a
mechanic. I have wrenches
and sockets in all sizes
and shapes, and because
I'm not inherently tidy,
they tend to get all
mixed up in the toolbox
as I use them. So as you
may expect, when it comes
time to tighten a bolt, I
have to go rummaging
around in the toolbox,
trying to find the right
socket to use.
Recently, Paris Hilton's
cell phone was hacked,
and all her contact
information was released
on the Internet. Although
I wasn't important enough
to rate a listing, many
other celebrities were
apparently flooded with
phone calls after their
private numbers became
oh-so-public. While the
incident didn't involve
Web services, it
certainly did involve
security, or rather a
failure of security. And
once again, security
itself is the focus of
this month's issue.
One of the fun parts of
being a software
architect is trying to
figure out how to build
whatever it is that you
are supposed to build.
It's even more fun when
you look at the
architecture for an
entire enterprise, and
have to make choices that
integrate every
complexity and account
for every nuance of the
portfolio, even if only
long enough to get
something in place before
ripping something else
out.
There are 8,909 books
listed on Amazon.com with
the word 'Investing' in
the title; there are(!)
27,146 books with the
word investment in the
title. Without having lo
This book is an update of
an earlier version that
was written for SQL
Server 2000. It employs
the Murach approach of
dual pages that repeat
and enhance the concepts
Reviewers overuse the
phrase 'required
reading,' but no other
description fits the new
book 'Ajax Security'
(2007, Addison Wesley,
470p). This exhaustive
tome from B
In my many years of
programming, almost 20
years now, I have used
countless integrated
development environments
(IDEs). I have used
everything from a simple
text edi
It's hard to overestimate
the importance of having
a good logging facility
when you develop
distributed applications.
Did the client's request
reached the server-sid