January 2004
ENTER YOUR EMAIL ADDRESS TO RECEIVE OUR NEWSLETTER
 
 
 

N-Cycles Newsletter - Second Quarter 2002

The following is an almost day by day account of some of the sessions which I attended while at JavaOne. This year's focus was on the developer and the buzz around the vendor pavilion was definitely on developer tools. Some personal favorite vendors included InetSoft, who had a really interesting web reporting application, ActiveCard who showed SmartCard technology along with biometric authentication. I also really liked both the Apple and Cobalt booths and was able to spend some time playing with the hardware. I encourage anyone who is thinking about using an advanced technology discussed below in their next project to give me a call.

Chris Bradley
Principal Consultant

Monday, March 25th, 2002

Web Services (WSDP)
Okay, this is a download must. This package for web service development includes the JAXP (Java API for XML Processing), JAX-RPC (Java API for XML Remote Procedure Calls), JAXR (Java API for XML Registry), Tomcat, the latest JSP specification, the latest Java Servlet implementation, the WSDL (Web Services Definition Language), JSPSTL (Java Server Pages Standard Tag Library), and Java Faces, along with Ant and a sample UDDI registry server.
While this new paradigm is now based on HTTP/HTTPS protocols and SOAP/XML, it is basically the same services as were previously offered by CORBA and RMI.

JXTA (Juxtapose)
An interesting topic that I hadn't intended on attending, but due to the fact that the topic I wanted to look in on (Java Platform Performance) was full, I decided to check out JXTA, which is based on peer to peer computing. Unlike your basic Napster type software, this implementation sits below the application layer and above the physical and transport layers. It gives a whole new implementation for distributed network computing. Simply put it can be used to set up peer groups of computers which are identified by JXTA id's, not network position (IP Address). Each peer advertises it's resources and can provide connectivity to other peers via the JXTA layer. While I don't have a good idea of a use for this technology, it does seem worth keeping an eye on, if for no other reason that it's a pretty cool technology.

Tuesday, March 26th , 2002
WSDP (Web Services Developer Pack)
A rehash of the developer pack for web services (EA2), this talk looked through the web services pack again with only slightly more detail than with the initial overview. So that is what they call technical! Anyhow they did explain a few more features of the kit, along with giving the versions of the JSP, Servlet, and Tomcat engines.

Java Filters
This session went over the use of Java Filters and looked at how in the MVC that filters could replace the servlet. Filters are basically servlets in themselves, which reside inside the servlet container and based on the information I saw today, have basically the same functionality as servlets. The true beauty of the filter is that you can chain filters above the application but below the HTTP layer to perform user defined functionality on the request/response prior to sending/receiving to/from the application/client. Some obvious uses are with login and security. Imagine using a filter to determine a clients access prior to handing the request off to the servlet. You could also easily implement an advanced logging structure to make note of all incoming requests and outgoing responses to file based on a filter. The session showed how in the JSP MVC model, a single entry point filter could easily be used as a central dispatcher for all communications to the application. The other interesting aspect of this session was the mention of wrapper classes for the request and response. There are 4 basic wrapper classes, the [Http]ServletRequestWrapper and the [Http]ServletResponseWrapper. In order to fully utilize the functionality of filters you simply wrap the incoming request/response in one of the above wrappers and implement the required functions. One important aspect to wrapping the response, always ensure to reset the content length prior to re-writing the data to the actual response output stream, also always overload both the writer and the OutputStream on the response wrapper.

JAX-RPC (Java API for XML Remote Procedure Calls)
How cool is this. For those of you familiar with CORBA, this is the poo, take a whiff. Just like your RMI and CORBA, we have WSDL (Web Services Desription Language) the IDL of web services. This description language can be used with the WDSL helper applications to generate the appropriate Java stubs for remote invocation. Everything you could previously do in terms of IDL to Java IFC and Java IFC to IDL, you can now apply to web services. Note to self -> I spoke with a .NET developer who noted to me that they are still having some problems with compatibility issues with the WSDL between Microsoft and Java (Imagine That!). With the help of the ANT building tool, the WSDP has everything you need to build and deploy web services.

Wednesday, March 27th, 2002
Providing a portable representation of Objects in XML
With all the hubbub of the JAXRPC and WSDP, this was a side item which seemed almost unnecessary. It did however provide some insight into how the WSDP provided its mechanisms for converting Java Objects into XML representations. Some good information for though were the representation of Objects within Objects and multiple references to same types.

Using Apache SOAP for web services
Ah redundancy kicks in. This discussion was so similar to the introduction of the WSDP that it was scary. However it did go over the tools that were provided by Apache for handling the same sort of application requirements as the WSDP. All in all a rehash of web services from an Apache view (which by the way is the mainstay of the Java view, seeing as how it is all derived from Apache in the first place.)

Friday, March 29th, 2002
Securing Web Services
This session covered issues with securing web services for the enterprise. While the usual methodology of securing web services was covered (SSL, basic authentication) a more in depth look at securing the message over securing the pipe was discussed. In addition, the session went into some newer strategies for user/client authentication in a more centralized and less application specific manner. Similar to N-Cycles new approach to having a central security schema to provide security information to many applications, so to are methodologies like SAML (Security Authentication Markup Language) dedicated to a centralized, simple approach to centralizing security.

Interactive Streaming Media with JMF
Okay, this class doesn't really fall into any of our categories of work, but it was interesting nonetheless. Perhaps more important than the technology itself was the idea that multiple modes of interactivity can and in many cases should be pursued rather than the good old fashioned way of one thing at a time. In multimedia applications this makes great sense and with the JMF frameworks, much of the headaches in dealing with the underlying workings of RTP, RTSP and associated protocols are handled for you. Another interesting note from this session was the mention of an embeddable browser interface for Java from Netcluesoft. This embeddable browser gives the programmer callbacks from within the context of the browser so that additional functionality within an application which the browser is embedded can be included.