The Cohen Blog
Frank Cohen is CEO and Founder at PushToTest. Frank regularly blogs about test automation, open source software (OSS,) conferences and events, and trends impacting the way software developers, testers, and IT managers deliver scalable, high quality, and reliable applications and services.
May 08, 2008
JavaOne 2008 Report
http://www.theserverside.com/news/thread.tss?thread_id=49332
-Frank
May 03, 2008
Building and Testing Ajax applications
http://www.sys-con.tv/read/540772.htm
-Frank
May 01, 2008
Unconference, Unconference, Unconference
Last year's Unconference was terrific. Instead of going to another track planned by Sun to hear from their marketing folks or a JavaOne conference sponsor, the Unconference topics are proposed by attendees and the selection is made by a democratic vote at the beginning of the day. The Unconference worked out splendidly. I am very much looking forward to the Unconference!
Please join me and I will be happy to take you around and introduce you to everyone I know.
-Frank
Apr 24, 2008
JavaOne in 2 weeks
Open Source Test Automation vendors Eviware (maker of soapUI) and PushToTest (maker of TestMaker) will have some exiciting news to announce at the JavaOne conference. The announcement will leverage our abilities to deliver SOA testing best practices using open source tools and methods.
I am finding that customers are increasingly turning to Open Source solutions for their testing needs. We recently wont such large customers as AMD, Amazon, Ford, The Jackson Laboratory and TVGuide. With 160,000 users, PushToTest delivers a single affordable platform to accomplish functional testing, load and performance testing, and business service monitoring. PushToTest integrates soapUI for fast and easy authoring of Web service test suites to run on a set of distributed PushToTest load test injector TestNodes.
PushToTest and Eviware will be exhibiting in the SOA Village in the JavaOne Exhibition Hall in booth 425.
I am available to meet you on Wed., May 7 or Thurs., May 8 at the show. Please let me know.
-Frank
Apr 22, 2008
TIBCO TUCON keynote
If you are attending TUCON then please let me know and I will be glad to meet with you personally.
-Frank
Apr 14, 2008
BPEL for Java Developers
Active Endpoints is hosting a Webinar on Business Process Execution Language (BPEL) for Java developers. The event is a free Webinar.
BPEL Basics for Java Developers Webinar
WHEN: Thursday, April 17, 2008 at 2pm EDT, 11am PDT, 18:00 GMT
WHERE: Online web meeting. Register at https://www1.gotomeeting.com/register/316860522
WHO: Ron Romano, Principal Consulting Architect, Active Endpoints, Inc.
WHAT: Business Process Execution Language (BPEL) Basics for Java Developers. This free, educational webinar is being presented as a service to the Java development community and will introduce developers to the concepts and techniques they need to understand in order to effectively create a new generation of applications based on web services. BPEL for Java Developers maps common Java techniques to their equivalent concepts in BPEL, enabling developers to transition to orchestrating web-services quickly and easily.
WHY: Java is an imperfect development language for creating SOA-based applications. BPEL has been developed as an open standard to address the need for a robust environment to create services-based applications. This webinar introduces Java developers to SOA-based service orchestrations developers by discussing BPEL in terms that Java developers already understand.
Ajaxworld talk reviewed
http://dambalah.com/2008/04/13/ajax-world-conference-day-3/
-Frank
Apr 11, 2008
The Reviews Are In
They like me, they really like me.
Harry Wood attended my talk and posted a blog entry about his experience at http://www.harrywood.co.uk/blog/2008/04/11/unit-testing-soa-and-mule-talks
-Frank
Learning More About ESBs and SOA Development at Mulecon
Last week I attended the first day Mulecon, the Mule user conference.
The presentations varied between Mule staff talking about Mule and the product roadmap and customers talking about their use of Mule. The Mule staff seemed to be singing from the same songbook: Mule claims 13,000 deployments of Mule ESB, Mule 2.0 is not compatible with 1.4 but the migration should not be too difficult as the concepts are the same, Mule Enterprise Edition, Saturn and Mule HQ releases coming late this year.
A Room Full of Architects
It did not take long for me to realize that Mulecon delegates are mostly software architects. Typical questions I heard goes like this:"Your company inherits a big bank and needs to decide between JMS and Advanced Message Queue Protocol (AMQP) for a universal protocol for your bank. Which would you pick?"
and
"How do you empirically come to a model that will let you uncover the performance characteristics and measurements?"
These are the kinds of discussions that make my wife immediately yawn and roll her eyes! Geeks, there's a lot of 'em in this room.
ESB, Grid, AMQP Approaches
Conversations about hub-and-spoke, virtual circuits, and bus architecture seem to be over. Just about everyone I met expects a heterogeneous architecture where parts of a system are hub-and-spoke and others are bus-based. Easy service interfaces now exist between each type of architecture using daemons and local brokers. Jahan Moreh, VP of Engineering at U1, had a very basic message "Provided the underlying products are good you won't have a problem."Jahan was more sanguine about guaranteed deliver and performance. In essence "performance and guaranteed delivery are in conflict." Choose one but don't expect both. I very much want to do primary research to determine a standards way to profile performance in a guaranteed delivery setting. Hopefully one of our customers will commission a PushToTest study. (hint, hint.)
I learn about AMQP at Mulecon. AMQP is a protocol-level standards initiative to provide a messaging infrastructure. Jahan told me "AMQP tries to do something very important but may not be attainable. Because they are at the protocol level they may wind up being extensions on the side. I would bet on the JMS side."
POJOs Rule, But Where Is BPM?
Eugene Ciurana of LeapFrog gave a talk about LeapFrog's use of Mule. I just saw Eugene at TheServerSide.com Java Symposium in Las Vegas last week. Boy does Eugene get around!LeapFrog is marketing a child's toy that features downloadable content – not bad for products that must cost less than a few dollars to manufacture! The backend system to support this effort uses ESB technology to provide flexibility to LeapFrog's software developers and reliability in operating the service and applications.
Many of the question-and-answer sessions at Mulecon include a question on Business Process Management (BPM) such as: "What are you doing for BPM in your architecture?" Eugene took one of these.
This question echoes what I had learned in Las Vegas: Java architects and developers are frustrated looking for Business Process Management (BPM) standards and tools. Brian Sletten's talk at TSSJS was titled "Avoiding ESBs" but could have been better described as "I'm sick and tired of waiting for vendors to give me a decent Business Process Management (BPM) platform!"
At Mulecon, Rory dela Pax of Biogen Idec, told me that "Mule is good at doing some workflow. But, all of us are struggling with BPM. We do a separation of skills strategy rather than overloading the ESB with these tasks."
Over the years I have seen most of the platform vendors try to provide the Java development community with set of products, best practices, framework, and code to implement applications that deliver business flows. I am specifically remembering the failures of JBI, JEMs, BPEL, SCA, and WS-*. None have come together to offer a standard. I sense a lot of anger and disappointment at all the failed attempts. Mostly disappointment from me.
Eugene answered the BPM question by telling the delegates that LeapFrog pushes all of its development to Plain Old Java Objects (POJOs.) They actively separate every application from each other. LeapFrog then uses Mule routers to define the inputs and outputs. Eugene said "We are not doing any transactional data at Leapfrog. Our support is for the toy devices." He added that Leapfrog has a separate side of the IT house for Oracle tools and BPEL.
Mule and Clustering
Rory dela Pax of Biogen Idec gave a brief talk on their migration from BEA WebLogic Integration (WLI) to Mule. The migration came about like many companies adopting an open-source project: A developer mentioned it during a water break conversation. The environment was ripe: Biogen Idec found WLI to be "a bit on the heavy side, unstable, and has not scaled well." They were also leery of the rumors of the Oracle buy-out since late 2006. They found that Mule has a one-for-one match in capabilities, plus they see Mule as lightweight, stable, and scalable.I can understand lightweight and stable, but the scalability claim seemed to need some proof. Rory tells me they achieve scalability by using WebLogic Server (WLS) 8.1 SP6's clustering. They deploy their Mule application as a WAR file in a cluster of JVMs in WLS. There are no separate JVMs in their environment. I imagine the gaul the WLI product manager must feel at being swapped out. :-)
Still, there is a lot that Biogen Idec needs to learn about clustering. They still need to define the best way to cluster. Rory told the delegates "We don't know how to do that." They would like to define clustering methods in environments where message sizes grow larger. Right now their application uses simple verb+link combinations. The incoming request is to approve an invoice and the response contains a link to bring the user's browser into the application.
Rory told me some of the downsides to using this WLS clustering approach. For example, they use Quartz as a scheduler. In this WLS clustering set-up changing the Quartz schedules means redeploying the application to the cluster.
Moving Up To Mule 2.0
Mule 1.4 uses DTDs to define pretty much everything – settings, configuration, deployments. Mule 2.0 delivers XML Schema based configuration that leverages Spring's "Extensible XML Authoring." The result is less cumbersome class names because of namespace support. They are updating their Eclipse support to provide auto-completion and context-specific help. Mule 2.0 features transport-specific endpoints and connectors and now everything is done through typed properties. There is a lot of extensibility because each module/transport comes with its own schema. Mule 2.0 lets you implemtn your own schema too.Some additional changes in Mule 2.0: CXF supercedes XFire (XFire is still available,) there is a new expression evaluator framework, streaming improvements, auto-transformation, and lots of bug fixes. Plus, Mule 2.0 has 30% more unit tests over 1.4. Mule uses Spring to implement Beans. Mule uses session and entity (data) beans inside the Mule container or through proxies to external data services.
Mulecon left me a few questions:
- How important was the Spring-based approach to building services to Mule's popularity and success?
- Is anyone, I mean anyone on Earth, using OpenESB from Sun? None of the Mule users had any experience with it.
- How are Mule and Mule users testing Mule for scalability and performance? Mule 2 provides hundreds of unit tests but apparently no performance tests, at least none that I could find.
- What are the tradeoffs of an ESB versus Gigispaces, Tangosol and other grid environments?
-Frank
Apr 07, 2008
HTMLUnit turns 2.0
Congratulations are due for the HTMLUnit team. HTMLUnit turned 2.0 today!
I'm happy to spread the news that the HTMLUnit team release version 2.0 today!
The Change Log notes many improvements and bug fixes, including migration to Java 5, implementation of org.w3c.dom.*, better support for incorrect html code, large improvements in JavaScript support (GWT 1.4 tests now pass, and a bunch of bug fixes.
I opened an enhancement ticket to upgrade PushToTest to HTMLUnit 2.0.
Congratulations HTMLUnit team!
-Frank
End To End Testing
An example of using soapUI, TestGen4Web and PushToTest to automate a test of a Web service and Web application functional test.

PushToTest orchestrates a Functional test by defining the operating parameters and use cases in a TestScenario document in XML format, as illustrated above.
The test identifies a PushToTest Data Production Library (DPL) that will be the exchange medium between the soapUI TestCase and the TestGen4Web recorded test. The soapUI TestCase reads the data value for the SOAP request from a Properties file in the soapUI project. The soapUI TestCase receives the SOAP response and saves the response parameter to the DPL.
The TestScenario instructs PushToTest to then run the recorded TestGen4Web unit test. The test uses the DPL data from the soapUI test to make an HTTP Get request to the Web host. That concludes the functional test.
I am happy to make the above example available for immediate free download at http://downloads.pushtotest.com/tm5/EndToEndTestExample.zip
You will need the latest TestMaker 5.2 (pre-alpha) version to operate the example. See the faq for instructions on getting the code.
Enjoy.
-Frank
Apr 02, 2008
Testing Flash - Possible but with some extra work
I recently received an email asking:
"Is it possible to use PushtoTest to build a test of a
Web Application that uses Flash?"
It is possible to test Flash applications using PushToTest. We are currently helping FordDirect.com do this. It does not come without some extra work. For instance, by itself there is no record/playback capability to build tests of Flash animations. However, there is a programmatic way to discover the content of ActionScript variables and to activate functions by doing the equivalent of pressing a button or using Flash controls. PushToTest professional support services will instruct you on the approach, how to instrument your Flash animations for testing, and teach our test methodology and testing platform.
-Frank
The Next Step in Unit Testing, Java, and SOA
I'm giving a free presentation at Skills Matter in London, UK, on Monday night
The session is free and I will be happy to answer your questions. For details and directions
see: http://www.skillsmatter.com/event/java-jee/the-next-step-in-unit-testing-and-java
Mar 30, 2008
Putting PushToTest on your resume
We're pondering putting up a Jobs board on the PushToTest site.
Mar 28, 2008
Screencast of SOA Knowledge Kit Presentation
Now available, a screencast of my Webcast on the research, findings, and lessons-learned from the new SOA Knowledge Kit. The Kit compares building SOA applications using TIBCO, IBM, BEA, and Oracle.
Over the past year PushToTest observed a trend among the 160,000 people in our open-source community: Software developers, QA testers, and IT managers are looking for a better way to develop, orchestrate, deploy, and manage services. The Composition Approach to Building Large-Scale SOA introduces a new service composition approach to building SOA services, explains composition, and provides a methodology and test kit to evaluate today's tools for developer productivity and ease of deployment/management.
Last week, TIBCO hosted me on a Webcast to talk about Service Virtualization, Service Composition, and the SOA Knowledge Kit. The Webcast is now available at:
http://media.tibco.com/video/tibco_031808/index.html
-Frank


