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

<*> 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