A new ETTK package is now available on alphaWorks. ADIEU - Ad Hoc Development and Integration Tool for End Users is a radically simplified tool for rapid development of Web applications and Web Services. By using this tool, end users can develop Web services and Web applications without any Java or J2EE knowledge. Users can develop these applications by using collections of "cards," each of which act like single-function applications in a form-based, desktop-like environment. The data fields in cards can be used like cells in a spreadsheet and can contain either data or an expression that determines the data at run time.
This ADIEU utility can change the way people do web services programming. Think of how things were before the spreadsheet was introduced by VisiCalc and later refined by Lotus 1-2-3. Most "non-technical" sales staff, business analysts and executives had to rely on their IT staff programmers to generate various reports they needed. Once these executives and sales staff were empowered with the easy-to-use spreadsheets, they could create unique reports and not have to ask a programmer for help.
Similarly, ADIEU can bring web services to the "everyday user". Select what services you need from a library of available web services, compose them together, and then publish it for your use and for use by your team members. Better yet, you can share your "web services composition" so others can expand or enhance the functionality. It's similar to when someone creates a spreadsheet with a format I like or does a calculation that I need to do, I "copy" that spreadsheet and make my own unique additions. I don't start a new spreadsheet from scratch, I base my work on top of others. And with ADIEU, you could share your ADIEU "cards" with others and keep building more functions.
So say ADIEU (Goodbye) to the old method of depending on your IT shop to program your Web services applications. You can now do it by yourself! Welcome to the new "end user empowered" world of Web services.
Emerging Technologies You Need to Know
An increasing problem in networking today concerns application protocols. An application protocol is something like HTTP, SNMP and FTP that layers on top of the network transport layer. The problem is that although many new application protocols are very similar, they continue to proliferate. Developers usually approach them in one of three ways. First, if HTTP or SNMP is close enough, just use it with a few conventions. If not, define one on top of Web or e-mail. And finally, some develop a new one from scratch.
BEEP, which stands for Block Extensible Exchange Protocol, is a framework to allow application protocols to be built from a common base framework. BEEP's protocol characteristics are connection-oriented (reliable, ordered, congestion sensitive), message-oriented (structured data) and peer-to-peer (allowing client/server). It's protocol mechanisms include framing (delimiting msgs), encoding (representing msgs), reporting (status information), asynchrony (independent exchanges), authentication (verify user ids), and privacy (protecting against 3rd parties).
The ETTK includes an framework for implementing application protocols via BEEP. We call it BeepLite. It is a Java implementation of the main IETF RFC's concerning BEEP: RFC 3080 (BEEP Core) and RFC 3081 (TCP Binding). There is also an RFC for SOAP over BEEP that is interesting. We find that for some cases SOAP over BEEP performs better than SOAP over HTTP, but in other cases, HTTP proves to be better. This is a fruitful area for further experimentation as a possible application of BEEP.
XML Enhancements for Java (XJ) is an ETTK technology I have discussed several times on this Blog because I have had to do a lot of XML parsing and processing. I can see the benefit of the XJ approach to making XML a native part of Java. If you want to better understand the approach and see how it compares with the existing ways of processing XML in Java programs, see the excellent article on IBM developerWorks on this subject at http://www-128.ibm.com/developerworks/xml/library/x-awxj.html .
Joel Farrell[Read More]