SOA has brought a lot of benefits to application development, but few would suggest that speedy processing was one of those benefits. SOA incurs overhead, and overhead is the nemesis of fast action, especially of the type required for real-time systems.
The typical Enterprise Service Bus (ESB) middleware at the heart of many of SOA implementations itself has drawbacks for real-time applications – while it provides useful transformations it does tend to be implemented as a central node, offering a possible bottleneck and a single point of failure. Variations address some of these issues, and the basic format works well in a large swath of applications, of course.
But alternatives to typical ESBs have been emerging over time. They are found in some of the harshest environments, but may deserve a look-see in less volatile spaces. Continued »
By Kathleen Kriz
New languages, cloud computing and hands-on Android development demonstrations were all part of the fare last week at the OSCON conference in Portland, Ore. Of note, Google Distinguished Engineer Rob Pike addressed the growing complexity of computing languages and asked if they are more complicated than they really need to be. Continued »
Sometimes the news is that there is nothing new. We saw an example of that recently.
‘’The exciting thing is that there is nothing new and exciting,’’ said Dr. Chris Harding. With that statement the forum director of the SOA Work Group ironically observed that the hype and ballyhoo of early SOA has given way to a new period where SOA is how you do things if you are an enterprise looking for repeatable results. Continued »
By Alan Earls
When inside meets outside, obstacles are always in store. Randy Carey, a former director of information strategies for the Women’s Foodservice Forum, an advocacy organization, points to challenges integrating external services, such as an intelligent email management service, with the internal association management software. Fortunately, the association management software vendor had relationships with many third party providers, including the email company, and, in the case of the email service, had a “connector” ready to go to help support data integration between the internal and external applications. Continued »
Tibco Software’s Spotfire group has released an on-demand offering that shares business intelligence dashboards for analytics using cloud computing as a platform. The move betokens an emerging trend that sees BPM and BAM systems reporting for cloud duty.
Ease of set-up is one of the major benefits here. Business users have the wherewithal now to create executable models that also serve as UI builders for executive dashboards that provide a view of operations. But IT and development remain a bottleneck for actual installation of the real-time run-time versions of the systems the business creates. The public cloud is a place where the systems can get built-out, ahead of IT procurement of private cloud or on-premise versions.
Collaboration is a cornerstone of recent BPM add-ons, whether cloud-based or other. Tibco’s new offering highlights collaboration, or the social media aspect of business intelligence, which the cloud should leverage somewhat.
Among other activity in this area is Metastorm’s new M3 modeling suite, which is composed of a popular subset of its modeling tools for business process building, residing on the Microsoft Azure cloud platform. Not far afield of this is a new app store builder included in JackBe’s Presto 3.0 enterprise mashup engine, used in many cases for data analytics.
One of the most vibrant trends in Java in recent years has been the growth of support for non-Java languages on the JVM. PHP, Groovy, Ruby – these and other dynamic scripting languages have obtained a place in the application development life cycle where quickly building tactical Web apps trumps deliberatively building all-purpose strategic apps to stand the test of time.
Lost somewhat amid a slew of WebSphere news this spring was word of a WebSphere version aimed at users of dynamic languages. Don Boulia, director of product management, IBM WebSphere, tells us the no-compile time dynamic languages have a place in what are being called ‘situational’ apps. These situational applications recall an earlier era of Rapid Application Development (RAD). In fact, PHP, Ruby and other languages are beginning to fulfill a role not unlike that of Visual Basic and PowerBuilder, two languages of the RAD era.
IBM’s Boulia indicates that running these dynamic languages on IBM’s JVM and WebSphere application server helps IT departments ensure a simplified runtime environment. While many languages may be flowering, that doesn’t need to mean a plethora of app server types for sys admins to manage.
Sometimes what is beginning to be known as Web apps is more familiarly known as Intranet apps. “There is this class of apps in the enterprise where they are time sensitive – they must be built quickly or can be temporary in nature” said Boulia. For these, sometimes, “if you use an enterprise tool set it will “take too long or require skills” the available people just don’t have.
“In the old days that was built with PowerBuilder. It met the need and you could move on,” he said.
“It comes down to the right tool for the job,” Boulia commented, echoing others. And, sometimes, it is the Java developers themselves opting to use a scripting language.
“There are Java people who have scripting skills or interest in it for certain situations,” he said. “That’s what drove our use of Groovy. It has a strong affinity to Java. The other side is in terms of skilled people who don’t have a Java background. PHP is very popular in that space.”
A small caveat: The idea that this is all about special situations, and not an enterprise element, should not be taken to an extreme. “From a trends perspective, a few not-so-small entities have begun to use [scripting languages] as the foundation for their Web tiers. That’s where it is less situational and more part of a strategic solution,” said Boulia.
Big Blue has company in this quest. Last month, Oracle released its first version of the Sun GlassFish server, which includes support for JRuby/Ruby and Groovy/Grails. Also in June, RedHat’s JBoss division debuted a JBoss Java portal server that supports Ruby and Groovy as well.
The Hibernate object-relational mapper has gained wide acceptance for performing the still critical task of converting objects to relational entries and relational entries to objects. For a number of years it has been stewarded, in effect, by Red Hat, which discussed new Hibernate developments, among a host of issues, at its recent JBoss World event in Boston.
Of late, the Hibernate project has come to include functionality of the Plain-Old Java Object (POJO) kind for a number of cool uses. As well, Hibernate has been updated to support features found in Java Persistence API 2 (JPA 2). Of course, there is a good gang of many that just wants to stick with POH (Plain-Old Hibernate). Theoretically, they should be able to keep on keeping on with their familiar data models, but the new stuff is there if they like.
At JBoss World, Emmanuel Bernard, Principal Software Engineer, Red Hat, highlighted new Hibernate capabilities such as a type-safe Criteria API, a static memtamodel generator and a fetch profile. He admitted that some of the additions are not quite his cup of tea. He outlined a new partial generator, but then concluded, ”don’t use it.”
“We were against it, but,” he admitted, “we have to support [JPA 2]. If you have to [use it] you can.” Meanwhile, the general view is that Hibernate adherence to other Java standards is valuable, giving it a longer life span, perhaps.
Some of Bernard’s recent work revolves around Hibernate Search, which brings Lucene search features to the Hibernate API set. Last month, Hibernate Search 3.2 was released. Its search capability is an example of how Hibernate is expanding to do more with data bases and across the enterprise’s various stores. The bet here is that data-oriented software generally will be pushed more and more over time to provide the Google-style searchability with which end users have become familiar. Witness the general push to REST formats.
While we are Hibernating, we’d like to point out that Cameron McKenzie and crew at sister site TheServerSide.com have recently produced a series of Hibernate 3.5 tutorials. McKenzie has created a slew of useful stories since taking TheServerSide.com helm in March, while continuing to oversee its always lively community discussions.
When people first started trotting out DHTML apps for wireless devices in the ‘90s a common mistake was to require that the app was always on, always connected. The problem was not limited to wireless devices.
Enter the asynchronous architecture. Ajax especially proved to provide just enough power to drive Web applications forward. At heart is the assumption that connectivity is not absolute. Clients exhibit some autonomy.
As more and more software applications are delivered as Web applications, software architects are still learning the merits of the asynchronous. They are still learning and arguing the implications as the underlying tools change – one of these being HTML5.
Dion Almaer discusses HTML5, and its possible effect on computer design, in a recent blog on Ajaxian.com. He suggests a more client centric design maybe near.
”A lot of code we will be rewritten and changed for ‘HTML5ication,’ which is an opportunity for a change in how things are done,” he writes in ”The march to a more client-centric Web: Will the mobile Web HTML5 and Chrome Web apps be the tipping point?” A long march and a long title that! Check it out!
By Jack Vaughan
A long time ago, integration of various applications, application elements and databases became the main work of application development. Web services and SOA were first discussed in this context: Application architects and developers did not have to write every element from scratch.
Instead they would call in services, in some cases, as needed. These services were usually wrapped in XML and delivered over HTTP. They were called Web services, and were combined sometimes using techniques of service-oriented architecture. A classic example of an early Web service was a stock ticker feed.
With the stock feed, there was no need for you to write it yourself – you called it over HTTP. You could program against such a data service. For example, you might have five competitors’ stock prices feeding on to an executive’s PC screen. Maybe you would correlate this with another fee, say, money exchange rates. The Web services stock feed demo became so common that it became kind of boring.
Fast forward to today. Where B2B is in play, we now share services across corporate boundaries. Other than that, much of the services action still remains within the confines of the operation where components are shared across departments. These shared services bear some conceptual similarity with software object architecture of the ‘90s, although the implementation details are very different. Most discussion of SOA as it has evolved has been about in-house services.
Where are Web stock tickers now? They have become ubiquitous and something of an afterthought. But their siblings continue to grow. What is happening is that a genuine industry is growing up around this Web data services. The providers often have familiar names: Thomson Reuters and D&B, for example. But new entities have emerged such as StrikeIron, which offers a catalog of data services. Let us know what data services have worked for you. What has not worked? What questions do you have on data services?
Cloud computing has a lot to offer a service-oriented architecture. Provisioning resources on demand can cut out hardware costs and increase scalability, multi-tenancy can conserve space and, on some platforms, you never even have to own the hardware you run on.
But to get the most bang for your buck out of cloud computing your application infrastructure needs to be optimized for these sorts of architectures, said Paul Fremantle, CTO at open source middleware provider WSO2. In other words, the application infrastructure needs to be designed for a cloud environment rather than packaged up and ported onto it. Continued »