So what is Ajax? How do you use it with Java and J2EE? developerWorks has an introduction, and there's a lot more going on.
The next question (for us) is:When is Ajax going to be built into Java?
The simple question may be "never" since Ajax at its heart is just servlets running little services that produce bits of XML data. However, having said that, it'd probably be handy to have some sort of Struts
Looks like some people are already getting a start. Sun has some Ajax Java Blueprints
that include a discussion, "Using JavaServer Faces Technology with AJAX
." Direct Web Remoting
(DWR) is a framework for "easy Ajax for Java." Apache Cocoon
can render Ajax Forms
. Apache MyFaces
has an Ajax DataTable
feature. There's an article, "Ajax using XMLHttpRequest and Struts
." The AjaxTags taglib
is a JSP taglib for Ajax functionality, and an apparently unrelated Sourceforge AjaxTags project
. AJAX-JSF Framework
aims to render any JSF
GUI using Ajax. So far, no one seems to be working on tooling.
I've put together a short list of resources for learning about using Ajax and REST together.
I talked about Ajax and REST in REST vs. SOAP/WSDL (pt 2)
. Since then, I've added a short list of Ajax and REST articles to REST vs. SOAP-WSDL
(on my wiki
). The first two articles are by our own Bill Higgins
WebSphere Application Server now has support for Ajax.Ajax for IBM WebSphere Platform
is a beta that is part of the WebSphere Software Early Programs
. I've talked about Ajax and Java
in the past; now they're easier to use together in WAS.[Read More
to parse the XML data?
I havn't written any Ajax code, but my colleague Brian Paskin has been doing so. He ran into this problem and found out that Internet Explorer
In hopes that Brian's difficulties may save you some trouble, here are the details.
if (document.implementation && document.implementation.createDocument)
parser = new DOMParser();
xmlDoc = parser.parseFromString("John Johnson", "text/xml");
else if (window.ActiveXObject)
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
alert("Your browser can\'t handle this script");
There's an article on ACM Queue
, "A Conversation with Alan Kay
." Alan Kay
is a founder of Smalltalk
(where Java got all its best ideas!), a Fellow at Apple, Turing Award
winner, and much more. As Alan likes to say
, "The best way to predict the future is to invent it," so go read
what Alan has to say about the future today.
Alfred Spector, CTO of IBM's Software Group, gave the opening keynote today at WebSphere Technical Exchange. The topic was "IT Evolution: Limitless Horizons."WebSphere Technical Exchange
is running this week in Miami, Florida. (Its European equivalent, WebSphere Technical Conference
, ran two weeks ago.) WTE, one of the IBM WebSphere conferences
, is run by IBM for WebSphere customers, to teach them about the products and how to use them. Alfred Spector
is the chief technology officer of IBM's Software Group
Here's some of what Alfred talked about:
- The world is flat, flattened not by airplanes, but by IT
- Innovation: The intersection of invention and insight, leading to the creation of social and economic value
- Companies need to look for strategic approaches that drive transformational changes in operational performance
- The IT mission is to architect a better world
- SOA builds flexibility on your current investments: A migration from a messaging backbone to enterprise application integration (EAI) to SOA (with an ESB)
- Five aspects to SOA: runtime, information, infrastructure management, development tools, and people. These just so happen to map nicely to the five software brands: respectively: WebSphere, DB2, Tivoli, Rational, and Lotus.
- SOA is an extension of the distributed computing architecture in two dimensions: technology and business
- An event-driven world forces innovation in middleware
- Unparalleled opportunities remain in IT
- The main challenge in our future: Managing complexity
has released a new tool, the Performance Harness for Java Message Service
From the description:
It provides a complete set of JMS functionality as well as many other features such as throttled operation (a fixed rate and/or number of messages), multiple destinations, live performance reporting, JNDI, and multiple vendor plug-ins.
The author, Marc Carter, is on the WebSphere MQ
development team and wrote the performance harness to analyze WMQ. He has also authored the JMS Performance with WebSphere MQ for Windows V6.0
and JMS Performance with WebSphere MQ V5.3 on Windows 2000
Antipatterns should be ameliorative. For that matter, patterns should be too. For that matter, so should you, at least in the way you do your job.Ameliorate
(verb): to make a situation better or more tolerable
I've been talking about antipatterns
. It's not just enough for an antipattern
to give a common solution, to say "Bet you did this, didn't you? D'oh!" It then needs to offer a preferred solution. This makes the document ameliorative; it helps the reader understand not just why their situation sucks, but also figure out how to make their situation better.
Any pattern should be ameliorative. It tells the reader what to do to make their situation a good one, perhaps better than it was, in any event better than it would be if they applied a less-than-best practice. If a pattern documents an approach which is not ameliorative, whatever it's documenting is not much of a pattern.
When you're doing your job, are you ameliorative? Are you making the situation better? Or worse? Perhaps you're trying to make it better but the situation fights back; that's just a bad (but common) situation. But in a reasonable situation, if you're not helping to make things better, why not? See the importance of leadership
. Leaders ameliorate.
So, be ameliorative. Get out there and ameliorate.
Design patterns for dynamically typed languages.
In Another Take on Design Patterns
, Rick DeNatale has posted a friendly discussion of The Design Patterns Smalltalk Companion
(I'm a co-author). He points out that the book explains the patterns from the original Design Patterns
book with the perspective of a dynamically typed language. The language used in the book is Smalltalk, but the principles also apply to other dynamically typed languages like Ruby. Thanks, Rick.
I'll also point out that the book talks about development of business applications (whereas the original book mostly talks about frameworks). So if you're looking to apply the original design patterns in business applications or using dynamically typed languages, The Smalltalk Companion
Technorati Tags: smalltalk, design patterns, smalltalk companion, rick denatale || Digg it | Slashdot it | Post to del.icio.us |
Geir Magnusson, now of IBM and chair of the Apache Geronimo project, says
"Geronimo passed the test suite part of the TCK for the first time."
He continues, "We're not done yet - official certification requires a bit more - but we're almost there." I'm not sure what else there is to the Technology Compatibility Kit
(TCK) other than the test suites, so I'm not sure why Geir is being so specific and didn't just say that Geronimo has passed the TCK period.
For more info:
For news about a related effort, see my post on Apache Harmony
. Geir comes to IBM from Gluecode; see IBM Acquires Gluecode Software
The Apache Software Foundation
has announced a new Struts
. Struts Shale is a JSF
-based version of Struts. The old version of Struts will be renamed Struts Classic and will continue to be maintained (if there are people interested in doing so). (For some JSF links, see Service Data Objects (SDO)
Apache Tuscany is an open-source runtime for SOA
applications using SCA
The Apache Tuscany
project is an open source project which "provides runtime capabilities for applications built using a Service Oriented Architecture (SOA)." It "provides capabilities which follow the Service Component Architecture specification and the Service Data Objects specification, which together define a simpler, business-oriented approach to the creation of applications and solutions which use a SOA." It currently provides support for running service components developed in either Java or C++. The project proposal
states this rational: "Tuscany provides multiple language implementations of the Service Component Architecture (SCA) specifications and related technologies such as SDO."
According to "Apache Tuscany Project to Simplify SOA Development
" in eWeek
, "Most of the committers to the Tuscany project are from IBM and BEA Systems Inc." The champion and an initial committer is Geir Magnusson Jr. of the Apache Harmony
project and the Gluecode
product that became WAS CE
SDO is currently implemented in WAS and WebLogic. In WAS, it's one way for our Java ServerFaces (JSF) screens to access data, and the way messages appear in the mediation framework in the Service Integration Bus
. SCA is currently implemented in WPS
, along with the Business Objects component that is an extension of SDO. There are currently efforts to make SCA and SDO open standards supported by a variety of vendors
. Tuscany is an important step towards making that happen.[Read More
There's a blog for the Tuscany
project: Apache Tuscany blog
. The authors are members of the Apache development team.[Read More
It's a new quarter and time for a new round of marketing announcements from IBM.
While some products (or at least versions) are new, the announcements reiterate some already announced and available products. This latest news focuses more on how the products go together, how it all fits into SOA
, and on how IBM clients
are achieving success with IBM products and SOA.
WebSphere Application Server V6.1 has been announced, which I'll cover in my next posting.
The next version of WebSphere Portal
, version 6.0, has been announced:
WebSphere Business Modeler V6.0 announcement: Version 6.0 of the IBM WebSphere Business Modeler family of products provides unrivaled business modeling, simulation, and collaboration capabilities to revolutionize business flexibility
. Actually, that's from September 2005, but it was discussed a lot again this month.
WebSphere Business Monitor 6.0 announcement: IBM WebSphere Business Monitor V6.0 delivers real-time business monitoring with metrics, visual displays, and alerts
(from September 2005).
WebSphere Commerce V6 announcement: Preview — IBM WebSphere Commerce V6
. Again, originally announced in January.
New versions of WebSphere Enterprise Service Bus, WebSphere Process Server and WebSphere Information Server -- 6.0.1, not exactly news for my readers; see WebSphere Business Process Management
Lots of articles have been published about all this. See:
How should an architect get the developers to do what he/she wants?Don Ferguson says
he has at times become an "architecture terrorist" to get development teams and managers to do what he asked. As he points out, it's difficult to get new features into products and other applications. Sometimes as an architect you have to threaten to do it yourself, often badly because you're an architect and not/no longer a developer; that can scare the team into hurrying up and adding the feature before you can, a sort of preemptive attack for program design.
Technorati Tags: architecture, donald ferguson || Digg it | Slashdot it | Post to del.icio.us |