Truly remarkable Gregg. Your zeal is commendable. Your argument is  
very valuable and worth debating.

You say: it's all there today. There are many that would say that it  
was all there with CORBA. Many SOA implementations using CORBA are  
out there. And that was governed by a very large consortium and not a  
single vendor. And wasn't limited to one language either. But many of  
us that deployed CORBA wouldn't and don't force CORBA on people  
today! It's but one of many useful technologies out there for  
implementing services.

Why CORBA didn't remain the standard used in SOA can be put down to  
several factors. We've all heard many over there years. I only bring  
this up because I think it is important o understand from your Java- 
has-all perspective.

1) Microsoft wasn't involved - Microsoft being a large participant in  
the enterprise meant their exclusion from the OMG and CORBA left many  
doubting whether CORBA could be a complete standard. Having to bridge  
from COM to CORBA and CORBA to COM seemed unnatural. (products like  
COMet did this). Microsoft being involved in the WS- community helps  
in many ways to ease the markets worries that WS- might fail. Mind  
you it doesn't stop some of the in-fighting ;-) What's interesting  
from the Java perspective is that Microsoft went the C# route. Hence  
in this way Java is not unlike CORBA. (Also see notes below about  
platform control)

2) Standards process too slow. The OMG were accused of having a  
cumbersome and slow standards ratification process. In fact many of  
us heard the  "what's great about Java and the JCP is that it's  
controlled by a single vendor and therefore gets things ratified  
fast. No more waiting on the OMG." So quite often a single vendor can  
have a positive effect on standards. Which is amusing .. to me  
anyway. What's also interesting about this argument is that Web  
services standards are in danger of hitting this problem. There are  
so many political and commercial battles going on that the standards  
bodies are playing right into ... well right into arguments similar  
to your own .... like  Java is the cure for cancer and world peace :-)

3)  CORBA is too complicated. Actually with the introduction of POA  
and all it's policies and objects-by-value you can see how this  
argument came up. The problem here is that not all SOA  
implementations need all the details that we "experts" debate about  
in these forums. These standards need to be discussed, defined and  
ratified for like the top 5% (if even that)  of organizations that  
need them all. But there are lots of organizations that need only the  
basics to implement SOA. If their needs grow then the standards will  
be there for them but they don't need it all immediately.  I think  
this causes paralysis for those implementing SOA. We all need to tell  
the market to START SMALL!!! (even if you're big). What's interesting  
about this from your (Java) arguments perspective is that Java has  
become VERY complicated too.

I think there are more arguments that are less obvious.

I think System Integrators (SI) play a big role in popularity of  
products which then has effect on standards. Where can they make  
money? Moving to a new standard might mean that they can rebuild what  
they just built in five years in the "new and improved" technology.

I think that analysts need something new and fresh to say to their  
clients and the market. No use saying "hey what you used last year is  
just great! Keep using it. We have nothing new to say" And so the  
analyst feeds into the cycle ... which often becomes recycle. (No  
offense to Anne et al .. it's just the nature of the business ...  
they also try to keep vendors honest).

And platform players, once upon a time middleware and building  
distributed services meant nothing on the radar to big platform  
vendors. But there was money to be made and control of the middleware  
part of the stack meant more control for your platform. And it's no  
use being 3rd or 4th on the leader board. So when you are .. invent  
something new ... then get the analysts and SIs on board. And so the  
cycle continues.

Quite a cynical view perhaps but that my observation. And it does  
generate innovation. No doubt about that. But there is a lot of  
recycle and "emperor's new clothes" factors involved too.

But I reiterate what I said to you earlier: there is no J in SOA.  
Sure you can wrap everything Java. Bt many of us don't want to, and  
won't and feel we have very good reasons for not wanting too. Most  
importantly why force Java in an environment that doesn't need it.  
Take for instance COBOL application in a CICS environment. Why not  
just Web service enable them naturally rather than forcing Java and a  
JVM on front??

BTW I like Java and have been using it for about 10 years. I just  
don't see it as the gateway to everything.

William

On Jan 22, 2006, at 6:11 PM, Gregg Wonderly wrote:

> Eric Newcomer wrote:
>> I have to point out that Java is under the control of
>> a single vendor, which makes it about as vendor
>> controlled as a technology can get.
>
> Java is controlled by a community process which everyone can  
> participate in.
> Sun Microsystems plays a sheparding roll in the community by having  
> a sizeable
> presense in engineering representation.  They also have the  
> predominate
> implementation under their direct control.  There are several  
> implementations of
> the Java virtual machine which you can choose to use, instead of  
> Sun's.
> However, due to the breath of features and complexity of  
> implementation, most of
> the implementations you can use, are based on some iteration of the  
> Sun
> Microsystems version.
>
> Who is in charge of the evolution of your application server  
> environment,
> operating system and language platform?  Probably not you or your  
> company.
> Everyone is dependent on a vendor, a technology, and its  
> evolution.  Right now,
> the Java platform leads in terms of technical breadth and  
> capabilities for
> supporting SOA using mobile code.
>
> That may change over time as other platforms evolve.  But, those  
> which choose
> not to support mobile code, will forever burden the users with massive
> dependencies on versioning, configuration, and (re)distribution/ 
> updates.
>
> Many people's experiences with J2EE and associated APP servers  
> frame their
> opinions of Java and what they should use Java to do.  J2EE is not  
> Java.  J2EE
> is but a vertical market platform that has many problems due to the  
> fact that it
> was one of the first platforms to target the associated space.  All  
> of the
> leasons learned are being used to experiment with new technologies  
> involving
> Java and many other language platforms.
>
> It's the dynamic of that arena which will control how "web  
> applications" are
> developed in the future.  If your SOA is not about "web  
> applications", you are
> probably wondering why you have to use all of these "web"  
> technologies.
>
> The Java platform, provides a great platform for doing "everything"  
> that you
> need your SOA to do.  Where you have completely Java based services  
> with lots of
> traffic flowing, you can use native Java streams for messaging  
> between them.
>
> For non-Java pieces, you can use the Jini platform to put a Java  
> face on your
> legacy application, and employ mobile code to optimize access to a  
> batch mode
> service by using local execution to iterate through large data sets  
> without
> exposing a batch API if not needed.  In places where the same data  
> is needed in
> batches, you can include a service interface for that as needed.   
> The service
> side of your delegate service is the same.
>
> Lots of choices available in using Java.  Lots of opportunity to  
> tune your
> implementation without an API change.  And, Java has application  
> level security
> built in.  You don't have to tunnel your service over HTTP to take  
> advantage of
> some hardware devices add on security implementation.  You can use  
> Kerberos or
> X.5xx or something competely different, to deploy authentication  
> with your
> transport implementation.  Authorization is then controlled by the  
> Java security
> model.
>
> This is available today, no need to wait for your vendor to provide  
> it, no need
> to wait for the standards to be developed.
>
> The fact is that most other non-Java "SOA" platforms are so far  
> behind on
> network computing, that their only recourse is to develop new  
> standards to slow
> down the pace so that they can stay alive and participate.
>
> How much do you want to pay, and how long do you want to wait?
>
> Gregg Wonderly
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>





 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/service-orientated-architecture/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to