Hello Peter,

Nice to know that somebody replied. Was really desperate to get some inputs!!
My replies are included below.

On Thu, 8 Jul 2004 21:39:23 -0400, Peter Lin <[EMAIL PROTECTED]> wrote:
> from where I am sitting, sounds like the project doesn't have enough
> information to make a good decision. Why move from MML/TCP to
> VXML/HTTP?

This is a requirement from some of our customers. They want to
integrate with any 3rd party Media Server(which all talk VXML).

> 
> if you read my performance article on the resources page, XML is very
> CPU and memory intensive. Even with XStream java-xml binding library,
> handling moderate concurrent load will easily consume 100% of the CPU.
> if you're serious about using VXML/HTTP, you're going to have to use
> some kind of hardware acceleration to get wire speed.

I completely agree on this, but this interpretation of VXML pages is
going to happen on the Media Server side. Hence as of now I am just
concerned with generation of VXML pages and transporting them to the
Media Server, where the CPU intensive XML parsing is going to happen.

> 
> even without implementing a single line of code, I can tell you right
> now it is going to be really hard scaling VXML/HTTP to handle 50
> concurrent streams. On a 3ghz cpu, 30 concurrent stream will consume
> 100% of the CPU. With a 2.4ghz CPU, 10-15 concurrent xml parsers will
> consume 60-75% of the CPU regardless of the platform. it doesn't
> matter if you write it in C#, C++, C or Java.  I keep a pretty close
> watch on XML technology and most of the parsers today are about the
> same. the differences are not significant to me.

We are currently utilizing a 650MHz Sun Sparc Blade & Solaris 8 Core
OS, and it will remain the same for the next release, hence I know
that CPU load will be a reasonable main concern.

> 
> given the primary limitation is CPU consumption, your options for
> application server should be based on reliability, maturity and
> toolset. If J2EE provides the features and scalability you need, then
> use it. If writing your own application server in C++ is the best
> option, then find two guys who have 10 years of experience writing
> high performance app servers.

Our entire Engineering team has reasonablly well knowledge of
C++/C.(not so much of JAVA).Also, complete development is going to be
done by our team.
We are a part of the architecture team which has to decide the
approach to take, and I was just looking for some pointer on that
issue(especially related to the performance implications for JAVA).

> 
> I would guess using servlets/jsp is the least of your concerns at this
> point. Until you have the VXML driver written and know it's
> performance characteristics, any decision on app server will be
> premature. You may want to look at Xml Pull Parser3, XStream, Jixb,
> XBis and the new xml stream parser.
> 
> do a quick implementation for VXML and see what kind of performance
> you get. if that is sufficient, you can move on. otherwise, you may
> have to write a highly optimized VXML parser in C using a finite state
> machine of some sort. good luck
> 
> peter
> 

An prototype of a VXML browser in the Media Server has already been
implemeted. It does have some performance issues. But, as I said
earlier this is not our main concern as of now. The questions that we
have related to taking the approaches are as follows:-

1) Would JAVA be a performance hit in terms of CPU
utilization(especially bcos of the JVM) ? Note that our VXML document
server is not the one doing a lot of CPU intensive operations, it will
be our legacy application written in C/C++.
Also, we are not doing significant CPU intensive operation like math
operations, number crunching, encryption, etc. Would JIT provide
reasonable performance compared to C/C+, by probably consuming more
memory(which we can spare) ?

2) How involving is the work related to integrating a JSP/Servlet
based front end to legacy C/C++ code using JNI(debugging, performance
issues ??) and/or TCP/IP sockets(performance Hit) ?

Thanks & Regards,

- Darshan.


> On Thu, 8 Jul 2004 18:19:23 -0700, Darshan Rawal <[EMAIL PROTECTED]> wrote:
> > We implement a Messaging PLatform for Voice Applications.
> > Our current platform has 2 Major Components as shown below:-
> >
> > Media Server <--- MML/TCP-IP ---> Application Server.
> >
> > We want to move to a new architecture for our Application Server where
> > the interaction between App Server and Media Server is as shown
> > below(i.e. based on VXML over HTTP)
> >
> > Media Server <--- VXML/HTTP ---> Application Server.
> >
> > To achieve this goal we need to implement an "VXML Document Server",
> > which will generate VXML
> > (Voice XML) pages based on the business logic & Data access layers
> > within the Application server.
> >
> > We have 2 options to implement the VXML document Server:-
> >
> > 1) USing the J2EE presentation tier(i.e. JSP & Servlets)
> > 2) Writing our own VXML generation module in C++ based(probably based
> > on the JAVA Servlet paradigm).
> >
> > Our Factors while deciding between the 2 would be as follows:-
> >
> > 1) Performance(This is the key for us, we ezpecially need to know
> > exactly how slow JAVA is as Compared to C++)
> > 2) Integration with our Business logic & Data Access Layers.(All our
> > business logic & data access is written in C/C++. Hence if we chose
> > JAVA, then we might have to use JNI or make use of TCP/IP to
> > communicate with our different Processes written in C/C++)
> > 3) Ease of Future Change(We want to develop new Application Features
> > Quickly & fast).
> > 4) Fast & better Development environment.
> >
> > I am a proponent of the use of Tomcat Servlet Container and hence the
> > use of J2EE front end for our module. But I was hoping to get some
> > pointers from you all, just in case somebody might have implemented
> > something similiar or might just have some inputs nevertheless.
> >
> > We are in a time crunch here, as we have to make a decision by next Monday end.
> >
> > Thanks in advance.
> >
> > Regards,
> >
> > Darshan.
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to