WSO2 SOAP Services in Spring & Grails

, March 31st, 2008

WSO2 announced:

WSO2 WSF/Spring 1.0 Brings New Functionality for Building Secure, Reliable Web Services within Spring and Grails

Colombo, Sri Lanka and Mountain View, CA – March 31, 2008 – WSO2, the open source SOA company, announced today the release of the WSO2 Web Services Framework for Spring 1.0. The WSO2 WSF/Spring open source framework integrates the popular Apache Axis2/Java Web services engine into the Spring Framework, giving Spring users full control of Axis2 from within the Spring configuration model. As a result, developers now have a full-featured Web services engine—with the security and reliable messaging required for a service-oriented architecture (SOA)—that fits into their Spring Framework and allows them to use any of their favorite Spring user interfaces. Additionally WSF/Spring 1.0 provides Axis2 users improved integration into Spring.

WSF/Spring 1.0 offers developers for the first time the flexibility to adopt either a “code-first” or “contract-first” approach to Web services creation using the open source Spring Framework. The existing Spring Web Services project within Spring supports Web services through the contract-first model where users start with XML schema and WSDL definitions of their service. WSF/Spring 1.0 complements this approach by adding code-first Web services support, in which users can start with existing Spring beans and offer them as Web services with just a simple Spring configuration.

In conjunction with its launch, WSF/Spring 1.0 is now being used as the basis for rapidly creating Web services within the Grails Web application framework based on the Groovy language. Because Grails uses Spring, WSF/Spring 1.0 fits perfectly within this framework as well.

“Expanding the reach of service-oriented architectures will require enterprises to embrace the range of popular Web application frameworks, such as Spring and Grails, that are widely in use today,” said Sanjiva Weerawarana, CEO of WSO2. “WSF/Spring contributes significantly to this heterogeneity by bringing the robust reliability and security that an enterprise SOA demands, along with the flexibility to adopt the Web services creation model that best suits a development team’s needs.”

WSF/Spring Features

The WSO2 Web Services Framework for Spring 1.0 is released under Apache License 2.0 and is based on the open source Apache Axis2/Java Web services engine, providing developers with a tested, proven platform for enterprise-class Web services that is ready to use. Key features of WSF/Spring 1.0 are:

  • Support for the WS-* stack includes WS-Addressing, WS-Policy WS-Security, WS-SecurityPolicy, WS-ReliableMessaging, WS-Eventing, and SOAP Message Transmission Optimization Mechanism (MTOM).
  • Inversion of Control (IOC) container support – WSF/Spring enables Spring services to be exposed through an IOC container. Additionally, it offers support for editing the Axis2 booting configuration through the IOC container.
  • Automated WSDL generation via the Axis2/Java code generation tool lets developers generate code for both WSDL 1.1 and WSDL 2.0. Data binding is also available with Axis Data Binding (ADB).
  • Querying service support – WSF/Spring supports a querying service’s WSDL via “?wsdl”, schema with “?xsd”, and policies with “?policy”.
  • Method exclusion in Spring beans – Going beyond just exposing Spring beans, WSF/Spring allows developers to have fine-grained control over which methods get exposed as Web service operations.

Spring and Grails Communities Support WSF/Spring

“The Spring integration provided by the WSF/Spring 1.0 release is a big improvement for anyone building Axis2 Web services with Spring,” said Adrian Colyer, CTO of SpringSource Global, Inc. “We see it as complementary to the contract-first approach supported by Spring Web Services.”

“Apache Axis2 for Spring provides a key integration enabler for users of the Spring stack looking to provide SOAP services to their clients. Since Grails is built from the ground up on the Spring Framework, the Grails community has been able to leverage Axis2 for Spring to provide seamless integration between Grails and Axis2 via the Axis2 for Grails plug-in,” said Graeme Rocher, CTO of G2One Inc. “The Axis2 for Grails plug-in would have been a lot trickier had it not been for WSO2’s efforts in providing Axis2 for Spring integration through WSF/Spring. Exposing a SOAP service in Grails can now be done with just one line of code with Axis2 for Spring.” (To access the plug-in, visit: http://grails.org/Apache+Axis2+Plugin.)

Availability and Support

The WSO2 Web Services Framework for Spring is available for download today. As a fully open source solution released under the Apache License 2.0, the WSF/Spring 1.0 does not carry any software licensing or subscription fees. WSO2 offers a range of service and support options to support these solutions. These include training, consulting, custom development, and sponsorship of open source feature development, development support and production support. For information on service and support packages, visit http://wso2.com. Additionally, the WSO2 Oxygen Tank (http://wso2.org) is an open developer portal that provides in-depth product information, tutorials, tools, forums, wikis and more.

Tags: ,

Groovy - Perfect for Java integration (Jon Travis)

, March 31st, 2008

John Travis writes on TheServerSide.com:

Our application comes from legacy frameworks — J2EE session / entity beans, struts, JBoss MDBs, etc.

This means that our core backend API has typically not been attractive to developers — something that’s very important to anyone wanting to tweak, script, or integrate their monitoring application with the rest of their environment (aka every sysadmin).

So what does Groovy do for us? By using Categories and MetaClasses, HQU is able to provide an API that is easy to read, easy to write, and behaves in an obvious way. Of course it does not provide a 100% replacement for our backend APIs, which is another great reason to use Groovy — it seamlessly interacts with the rest of our Java app.

Groovy also makes development infinitely easier. Since we’re able to develop features, test HQL queries, etc. inside of a _running_ application, the time between code-revs is very quick (hit reload. Done.)

We have made a commitment to Groovy and will be using it more and more in subsequent releases. The release of the HQU framework means that the community now has more hooks than ever into a powerful infrastructure management application to create custom, centralized screens, specific to their environment.

Tags: ,

Triggit Alpha-Testing Their InText Ad Product

March 31st, 2008

Zach Coelius (CEO Triggit) writes:

Triggit has a very busy month ahead of us. We have just started the alpha testing of the Triggit in-text ad product where we pay our publishers directly for the traffic they send to our partner ad networks. So far it is looking really good.

We are also going to be demoing at Ad:Tech and the Web 2.0 expo this month. Ad:Tech is here in SF on the 15th and 16th. We are in booth 6378. Come on over and say hi. The Web 2.0 expo is also here in SF on the 23rd, 24th, and 25th. We are in the startup area. It should be really exciting.

Tags:

SpringSource Application Management Suite (AMS) Released

March 31st, 2008

It has been a busy few months since SpringSource partnered with Hyperic to bring our Application Management Suite (AMS) product to market. I am pleased to announce that the SpringSource AMS beta release is now available to all. Please take a moment to evaluate the software and post your thoughts on the beta forum. We are committed to providing the best application management experience possible for Spring-powered applications, and your feedback is much appreciated!

Read the rest of this article on the SpringSource Blog.

Tags:

Being Open & Commercial (Ian Skerrett, Mik Kersten)

, March 30th, 2008

Interview with me and Ian Skerrett on RedMonk Radio

We discuss how the Eclipse ecosystem is driven by vendor-neutral open source frameworks such as Mylyn, and the ways in which commercial products like Tasktop build on that. Some interesting points that came up are: the various ways in which vendors decide on what to open, the split between open and closed source Mylyn connectors, the role of the community, and the benefits of Eclipse’s governance model. We wrap up the conversation with some thoughts on OSGi and its use in runtimes such as the SpringSource Application Platform.

Mik Kersten

Mik Kersten is the President and CTO of Tasktop Technologies, lead of Mylyn and member of the Eclipse Architecture Council and Board of Directors. While on the AspectJ team at Xerox PARC, Mik implemented the first aspect-oriented programming tool support. He then created Mylyn and the Task-Focused Interface during his PhD at the University of British Columbia. Mik likes building tools that offload our brains and make it easier to get creative work done.

Tags: ,

Groovy Visions (Gavin Grover)

March 30th, 2008

On the day before April Fools’ Day, Gavin Grover worries about the following. Bless his heart, the worry is so severe that it appears to be an April Fool’s joke, but it is not. Graeme Rocher and others address the concern in the Comments.

Closures for the JVM
James Strachan had a vision: he wondered why the Java platform couldn’t have closures. So he began building Groovy, announcing it on 29 August 2003. He attracted others with a similar vision, such as Geir Magnusson and Richard Monson-Haefel, and together they lodged Groovy as a JSR on 16 March 2004. This attracted the attention of Sun Microsystems, as also did Microsoft putting closures into C#. So the long tentative process of putting closures into Java 7 began. The prototypes have been built, and we all await the final decision. Perhaps it will be announced at the upcoming JavaOne 2008 conference.

Groovy for Grails
Guillaume Laforge had a vision: he wondered why a Rails-like web framework couldn’t be written in Java. It would run faster than the Ruby-based Rails, but would need a dynamic language to configure it. So he took control of Groovy from James, and along with fellow despots Graeme Rocher, Jochen Theodorou, and Jeremy Rayner, started building Grails and putting a MOP into Groovy. A year ago at JavaOne 2007, according to Guillaume, was the genesis of G2One, Inc, where investors Bay Partners and executive Alex Tkachman joined them in the vision, enabling them to work full-time on building and marketing Groovy and Grails.

If it weren’t for Guillaume’s vision, Groovy would have died after it fulfilled its usefulness in James’ vision. However, because it’s so closely tied into the vision for Grails, Groovy may again die when it’s fulfilled its usefulness in Guillaume’s vision. G2One, Inc is a vehicle to quickly realize capital gains on perceived future income, calculated from present income and its growth rate. Consulting and training in Grails can generate huge earnings quickly, as Ruby on Rails has done, while Groovy’s present purpose is to make it as easy as possible for Java developers to use Grails. There’s no financial incentive to make it do anything more, and the majority votes of G2One shareholders indirectly control the majority decisions of the Groovy despotry.

Bringing in Newbies
On 29 August 2003, the same day James Strachan announced Groovy, I flew from Hong Kong to Wuhan China to begin my very first teaching job, leaving behind a programming career. While here, I’ve also developed a vision for Groovy. I’ve wondered why Groovy can’t appeal to non-Java and new programmers, as well as those already on the Java platform. It may not appeal to Python or Ruby programmers, but what about to Perl, PHP, or VB programmers? I’ve wondered what else Groovy needs to bring newbies to the Java platform, begun on extensive documentation for them, and attempted stuff like Unicode name-aliasing and Lisp-style self-referentiality.

However, my vision for Groovy is longer term than G2One Inc’s horizon for profiting from Grails, and may even be at odds with it. I heard that at Groovy DevCon4 in October last year some Groovy developers wanted to rename the Groovy Language after version 1.5 to shake me off. I figure if they decided to do it, it’ll be in time for JavaOne 2008 next month, so I’ve set up GroovyScript just in case. If the Groovy developers rename Groovy 1.6 to the Grails Language or whatever else they might call it, I’ll bundle it in GroovyScript just to keep Groovy’s groovy name alive. I’ll fight harder to keep the Groovy brand alive than James Strachan did.

But I’m hoping the Groovy developers made the right decision last year at the DevCon.

Comments:

Shawn Hartsock said…
You have some interesting ideas. I for one am appreciative of your work aimed at non-Java schooled programmers. I work in a LAMP shop that is slowly incorporating Java projects. Groovy hit a nerve with us. We currently have two medium-sized Groovy/Grails projects in production and are much happier working with Groovy because the code is very terse and “gets to the point” much quicker. Groovy makes working in the Java space much easier for some of us old school Perl coders.

yalestar said…
I think Groovy is an amazing tool and certainly one of the most useful and innovative things to come along in many years. However, since its arrival I have also thought that Groovy is probably the dumbest possible name for a programming language that anyone could have come up with. It’s very cheesy and makes it sound like a toy language. So I for one welcome a name change.

Graeme Rocher said…
I assume this is a April fools joke?


Graeme Rocher
CTO
G2One Inc

Graeme Rocher said…
Just in case this isn’t an April’s fools joke, I just want to post something because posts like this can often spread a misconception on what is the reality.

First off, Guillaume or anybody else didn’t really have an “great vision” about creating Grails with the aim of creating a company around it. There was a post on a mailing list which got me working on the project because I had a genuine technical need for such a framework at the company I was working at at the time. There was no premeditated plan to create a company at this point.

Guillaume’s vision came in keeping the Groovy project alive which he has done superbly. Also, the Groovy team didn’t “put a MOP into Groovy” in order to create Grails.

Groovy already had a MOP long before Grails started otherwise Grails wouldn’t have been technically possible. What Grails did is contribute a nicer interface to the MOP with ExpandoMetaClass.

When Grails became very popular and helped further drive Groovy’s popularity it was a pleasant surprise to all of us and justification that what we were doing was right. The fact that an investor offered to get involved came as a huge surprise to us all and has enabled G2One Inc to be born.

G2One Inc now provids multiple full time resources to both the Groovy and the Grails projects, which has resulted in Groovy getting stronger, but there has never been a case where the Grails project dictates where Groovy goes. Guillaume is too strong minded for that!

Finally, I’m not sure where you’re getting your information from, but there have never been any plans to rename Groovy. We even named the company G(Groovy+Grails)One Inc after the names of the projects it would make little sense to rename them now.

Gavin Grover said…
Graeme, my post was on 30 March so wasn’t an April Fool’s Day joke. If the last paragraph of your post on the morning of 1 April also isn’t an April Fool’s Day joke, and there’s no plans to rename Groovy, then all is well.

Groovy is a great dynamic language that got me interested in programming after a few years out of it, although I was initially attracted to it because of its groovy name. I’m certainly benefiting from the great work Guillaume, you, Jochen, and all the developers are putting into it, and hope to get more involved myself in the future as I increase in skills. Thought it looks like I’ve inferred some incorrect cause-and-effect on the developers’ intentions from my years reading the Groovy mailing lists.

I’ll continue with my vision to make Groovy appealing to newbies to the Java platform: a groovy technology with a groovy name.

Tags:

Snagging the bargains under the analysts’ radar (GlobeAndMail.com)

March 29th, 2008

Canada’s The Globe and Mail highlights Larry MacDonald, a retired investment advisor, who communicates his investment strategy by maintaining a virtual portfolio at Marketocracy.com:

RANDOLPH McDUFF

AGE: 43

OCCUPATION: Retired investment adviser

PORTFOLIO: International stocks, including MasterCard, Novo Nordisk, Aeroports De Paris, Beijing Capital Airport, Bayer AG, Canon Inc., Guangshen Railway, Saputo Inc., Butterfield Bank, and Keytech Inc.

INVESTMENT RESULTS

Mr. McDuff”s investment strategy is working exceptionally well, as highlighted by a virtual portfolio he is running on marketocracy.com. Called the RMG Value Catalyst Fund, it has returned 37.5 per cent on an annualized basis from inception in late July of 2000 to early March of 2008.

This puts his portfolio in the top 10 of the 50,000-plus portfolios tracked on marketocracy.com, and way ahead of the S&P 500 index’s annualized return of zero per cent over the same period. His second virtual portfolio, RMG Value Oriented Growth Fund, is also in the top 10 with an annualized return of 24.8 per cent over the same period.

HOW HE GOT STARTED

When Mr. McDuff was 13 years old, an uncle suggested he invest in the stock market. “I didn’t know the first thing about investing, so I started reading The Globe and Mail on Saturdays, at my public library, to get a bit of an education,” Mr. McDuff says.

After graduating from the University of Manitoba in 1986 with a bachelor’s degree in economics, Mr. Duff became an investment adviser. Fourteen years later, still in his mid-thirties, he had accumulated enough capital to take early retirement and pursue his goal of building wealth at a faster pace, using his own research.

INVESTING STRATEGY

Mr. McDuff, who lives in Winnipeg, focuses on global companies. Coverage by brokerage and institutional analysts of many international companies is non-existent or poor, so good companies can often be found trading at modest valuations. Also, companies with ample free cash flow are sometimes ignored by the professional investment community because they don’t need the help of investment dealers to raise funds.

His preferred investments have sizable barriers to entry (e.g. monopolies or oligopolies), fortress-like balance sheets, and catalysts that can accelerate cash flow and attract research coverage. The companies also have modest valuations according the “forward EV/EBITDA” ratio. Specifically, their projected enterprise value (debt plus equity) stands 10 times or less to projected EBITDA (and are below levels for peers).

BEST MOVE

“I’m most pleased with an investment in Aeroports De Paris, which is up 100 per cent in the past 18 months,” reported Mr. McDuff recently. Traffic is growing for the airport as more East European countries join the Europe Union. Rental income should trend upward due to an expansion of airport retail space and development of the company’s tracts of commercial land in the south of Paris.

WORST MOVE

Within the past two years, Mr. McDuff lost 20 per cent on his holding in UnitedHealthcare. He normally sells an investment “when the business model deteriorates,” but he gave management the benefit of the doubt and it did not come through as expected.

Tags:

Have Your Cake & Eat It Too (The Banktastics Blog)

March 28th, 2008

The Banktastics Blog’s WebSite Of The Week is Cake Financial:

Brad’s favorite site of the Week is CakeFinancial.com. CakeFinancial merges social networking and stock trading in a really awesome way. You can see your friends’ recent trades, track the top companies, and so much more. It’s a smart way to track your investments while connecting you with the best information available. It’s good to see a site making trading really interactive like this.

Tags:

Rod Johnson: Legacy Java Development Is Dead (eWeek)

March 28th, 2008

Darryl Taft’s article in eWeek quotes Rod Johnson (CEO, SpringSource):

LAS VEGAS—The legacy style of enterprise Java application development has given way to a new world of frameworks and modular componentry, according to an expert.

“It is pretty clear that the legacy approach to server-side Java development is done,” said Rod Johnson, founder and CEO of SpringSource, the company behind the open-source lightweight Java development platform Spring Framework.

Aside from frameworks such as Spring, “OSGi [Open Services Gateway initiative] is a big part of what’s driving this,” said Johnson, speaking at TheServerSide Java Symposium here March 27.

OSGi units of modularity are known as bundles, and although OSGi has its own set of challenges, Spring strongly supports OSGi, Johnson said.

“Spring Dynamic Modules combines the POJO [Plain Old Java Objects] programming model of Spring with the benefits of OSGi modularization,” he said.

SpringSource releases a new tool suite. Read more here.

OSGi is the dynamic model system for Java and is moving to the server side to “solve a lot of problems that Java and Java EE [Enterprise Edition] didn’t,” he said. “Spring Dynamic Modules for OSGi is a key enabling technology for the next generation of middleware. It’s very important that Spring and OSGi work so well together.”

The Eclipse Foundation launched a new top-level run-time project based on OSGi at its EclipseCon conference March 17. At the same time, SpringSource released an IDE (integrated development environment) to support Eclipse developers. The combined OSGi support plays into the company’s tooling strategy, SpringSource officials said.

“Our aim with the Spring Portfolio is if you write something with the Spring component model, you can potentially benefit from something you may not have known about or planned for,” Johnson said, referring not only to the OSGi support specifically, but to the breadth of technologies that Spring touches in one way or another. “All Spring JARs [Java Archive files] are now OSGi bundles. OSGi gives you the best possible modularization.”

Tags:

Spring to get upgraded with REST (InfoWorld)

March 27th, 2008

Paul Krill at InfoWorld writes:

The popular Spring Framework for Java development will be fitted with REST (Representational State Transfer) capabilities in an upgrade planned for later this year, the founder of the framework, Rod Johnson, said Thursday at TheServerSide Java Symposium in Las Vegas.

Also, Johnson predicted a changing middleware scene, with a decline in Java application servers. He also touted capabilities in the current release of Spring, Version 2.5, pertaining to capabilities such as annotations.

The planned 3.0 version of Spring, anticipated this August or September, “will have significant enhancements with respect to Web technologies,” Johnson said. Current and previous versions of the open source framework have been downloaded about 5 million times.

“We’re really seeing extensive interest and growth in REST, and it will have comprehensive support for RESTful Web services,” said Johnson, who is CEO of SpringSource, a consulting firm that provides services to Spring users.

Also planned for Spring 3.0 is unification in the programming model between Spring Web Flow and Spring MVC (Model View Controller). “The benefit of that is we will have one single Web programming model from the simplest applications up to the most complex Web interactions,” Johnson said.

In the middleware arena, Johnson anticipates big changes, including a downturn for Java application servers.

“I think we’re basically seeing the decline of the traditional Java EE server,” said Johnson. “If you look at the increased prevalence of lighter-weight solutions like [Apache] Tomcat, if you look at the fact that OSGi allows you to fundamentally structure applications and services in a different way, I think it’s very clear that we’re in for a period of profound change.”

Johnson discussed features of version 2.5, including the greater use of annotations for configuration in the area of dependency injection and Spring MVC. Dependency injection is mechanism in which, instead of an object having to look up its environment to find services, the services are automatically supplied to it by a container environment.

“The fundamental goals of Spring 2.5 were to strengthen Spring’s position as the de facto standard component model for enterprise Java,” as well as build on simplicity and power and make it easier to use, Johnson said.

Spring 2.5 also leverages OSGi, in which JAR (Java Archive) files are OSGi bundles. “OSGi is the best possible modularization,” said Johnson. Also, annotation-driven configuration is featured in version 2.5.

Annotations provide benefits such as reduction or elimination of external configuration but can have drawbacks such as the need to annotate classes, which is not ideal for legacy code, Johnson said.

Two choices are offered for annotation-driven dependency injection in Spring 2.5: @Autowired, a native Spring annotation syntax designed in late 2007, or the @resource model, based on Java Specification Request 250.

A conference attendee cited use of Spring.

“We use Spring for dependency injection,” said Chris Porte, software engineer at WeddingChannel.com. The organization leverages the singleton approach in which an object is instantiated for the entire system, Porte said.

On Wednesday, keynote speaker Neal Ford of ThoughtWorks cited use of Domain-Specific Languages (DSL) as providing an additional level of abstraction in programming. Johnson concurred that they will grow in prominence.

“I think to some degree if you look at what Spring 2 did with introducing a kind of XML namespaces so you can define your own XML elements, it’s almost a DSL,” Johnson said. “I do think we will see increased use of them.”

Tags: