Web Servers To Handle Java Servlets And WAP?
Yousef asks: "We're trying to develop a WAP enabled Webserver, that can work with Java (Servlets). Currently the only working option is M$ IIS running the New Atlanta plugin. Now I'd rather NOT run IIS, so if anyone else has a solution to this, it would be much appreciated. We've tried Inprise IAS and Apache JServ (We're deploying to a Sun Solaris box). Any help would be nice. Getting the servlets to run is quite easy -- The problem is getting them to work with WAP!"
"WAP creates its own session ids, and that stops other serverside objects from sharing the same objects.
In short, we have an existing Servlet based system. Now we are trying to incorporate WAP into it (WML). It seems to us as though WML passes cookies around differently to HTML: HTML stores them with the browser, and WML stores them on the server. We've tried just about every server under the sun, and they all behave in the same way."
Try the new version of Roxen. Support for PHP4, Servlets, WAP, Pike scripts etc. etc. http://www.roxen.com
I'm confused. Nearly anything that can serve HTML can serve up WML, provided the content type is configured correctly, and it spits out valid WML. Why would one need a specific API set to spit out WML code?
-- I'm the root of all that's evil, but you can call me cookie..
We use Apache together with Resin to create cookie-less session management. Almost all servlet/JSP engines have support for creating sessions this way; the critical thing to remember is to *not* just write links the normal way, but to use the response.encodeURL method to make sure the servlet engine appends the ";jsessionid=" string to the URL in all links.
Besides, check out the rest of their website. All around cool guys...
-------
Warning: Slashdot may contain traces of nuts.
Wapsody is a Java WAP development environment. Might find that worth looking at too.
I don't know the particulars of your application, but by decoupling the content from the presentation, you gain an enormous amount of flexibility and power.
By creating content as XML, you can now create XSLT scripts to transform that pure content into an arbitrary presentation form. So you can write an XSLT script that transforms your XML content into XHTML or into WAP. This is powerful because now you can serve multiple different requestors with the same content.
There is a project called Cocoon (from the Apache Software Foundation) that does this exact thing. Cocoon itself is a servlet, so it gives you a choice of what servlet engine to run it on. It provides good caching, XSLT transformations, and even a "sitemap", which is a central location for binding look&feels to content.
There is an open source servlet engine that has built in XSLT processing, XPath processing, and XML parsing. It is extremely fast and has a lot of features. It is Resin. I recommend this one. Because this is a full blown servlet engine, you have JSP processing, session support, and it is even a small web server.
http://www.enhydra.org Has a servlet engine (built around tomcat) with an Apache/ISS/Netscape based load balancer. Built-in support for WML via an extension to their GPL'd XMLC technology.
Roxen Web Server (former Roxen Challenger) is a quite good choice (amongst many others it has native servlet/Java modules support and speaks WML natively (also knows to generate WBM)). Plus, it's GPL'd.
Petru
WAP and WML are things that allow webpages to be seen over portable conncections like web enabled cell phones and PalmPilots...From what little i have read about it, it takes the HTML and strips thing like img tags and such and parses it into a form portable devices can understand
You should definitly check out the Cocoon project. XML, XSL/T and whatever you might need.
Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
Geocrawler error message.
What is so difficult about it? I actually have signed a NDA so I am not going to tell details here, but our solutions all use Netscape Enterprise Server, but I have also used Apache on Linux to serve WAP. Actually WML and WMLS. The logic behind generating WML and WMLS is the same old **** that today generates dynamic HTML.
Really no big deal, just the syntax is different, and the mind has to be set to think little (cell phone display and keypad).
Sigged!
They are currently in the process of upgrading to the servlet 2.2 API, and their FAQ details the finer points of running Enhydra with Apache and Apache JServ.
All in all, it's a fine solution. It took me just a little bit of research, but once I got it up and running, I found that it was very reliable, and more than ample speed-wise.
Hope this helps...
Nearly anything that can serve HTML can serve up WML
Serving up WML is easy (as you say). WAP needs some extra stuff doing though, mainly to deal with handling session state in an entirely different way to the traditional HTTP (and thus the cookies are different too).
Think about it. Phones have fixed IDs (from the telco network), but nowhere big enough to store client-side cookies.
You can use the following solutions:
www.davinci.ca (here is the competitive analysis document I had to write: download)
www.724.com
www.microstrategy.com
www.zope.com
www.orionserver.com
The fact is that neither phones nor PDAs currently can not accept cookies. Obviously this is a memory and bandwidth restriction and a good one - imagine you have a phone and every site you visit sets a cookie on it, pretty soon you'd run out of space.
To keep your user's session you can use either URL Rewriting technique or a server side Session identifier (the later one is harder to implement for unregistered users.) Don't forget that a user can have more than one session at a time on any server with multiple devices.
Look at 'resin' if you need good authentication and session implementations.
Good application servers also provide all possible techniques for storing session: Cookies, URL Rewriting and server side sessions, so check out these: www.weblogic.com (www.bea.com), www.gemstone.com, www.orionserver.com, www.zope.com, www.websphere.com
The product I am working on currently is an XML server that allows easy implementation and separation of business logic from layout module and has a granular cache for storing data results from varios functions for all users, so check out 'Trinity' project from www.davinci.ca
In general, there are many solutions but none will help you to store the cookies on the mobile device itself.
Good Luck.
You can't handle the truth.