Browse by year:
Fostering Innovation through New Technologies SOA, WOA, Web 2.0
Mahesh Subramanian
Tuesday, December 2, 2008
IT departments across organizations are expected to focus on the more complex applications, which include the all pervasive ERP solutions, email servers, payroll systems, databases, and related infrastructure. However, there are multiple small applications that the business would like to implement, so as to improve efficiency and performance. These include mini-applications to approve discounts in the sales cycle, HR-on-boarding, and similar utilities. Collectively, these projects represent tremendous business value - the type of transformative value that has long been the promise of IT.

IT has limited resources, and will have to prioritize on what they can deliver. Increasing IT efficiency isn't going to fundamentally change this picture. The small-project ROI will be crushed under the weight of investment costs.

Traditional application architecture meant that almost everything is done 'within' the application, controlling access to the external world. However, technology-savvy consumers in business units have traditionally written their own utilities to solve some of their problems, using macros in Excel, Visual Basic, and Access. IT had little control on these 'business-developers' and their applications, and data extracted was stored in local machines, causing issues related to security and reliability, leading to the absence of a single source of truth for mission-critical data.

Many innovations have focused on solving this problem, one of which is services oriented architecture (SOA).

Services Oriented Architecture
Services oriented architecture is a method of building applications using a collection of services that interoperate through a loosely coupled communications or orchestration framework. What this means is that most of the work is done 'outside' the application, in contrast to that of traditional applications. The common standards in this case are SOAP, Web services definition language (WSDL), BPEL, UDDI, JMS, RMI, IIOP, and other similar technologies. The standard mechanism is to expose standard services as part of the API, which can then be used to view information within the application for extension purposes. Typical SOA consumers are users who want information from a big application for integration or extension purposes.

One extension of the SOA architecture is Web oriented architecture (WOA), which is a method of building applications using a collection of Web resources, identified through a URI (Uniform Resource Identifier – a string used to identify a resource). These interoperate through a simple, loosely coupled communications or orchestration framework, using stateless standards, performing actions similar to those of SOA. The common standards are REST, JSON, POX, et al. Portals, BPM, Mashups, etc. are typical consumers of SOA and WOA.

This extension now allowed the typical consumer landscape to change.

This changing landscape has led to introduction of Web 2.0, an over-hyped marketing term used to define a set of technologies. This is a term that describes a change in the way we use the Web, from static to interactive, and a set of techniques applied to applications for this purpose to make them collaborative, interactive, and agile using AJAX based Web applications.

The traditional Web applications (aka Web 1.0 applications) threw information at the consumer, and enabled users to 'read' information. Examples of this include newspapers, news sites, Microsoft Word-based documents, the traditional encyclopedia (for instance, Microsoft Encarta). These are static information providers that offer fast gratification and publish the knowledge of 'pundits'.

Web 2.0 applications instead foster collaboration, interaction, and agility. These applications are AJAX based, and can enable frame-by-frame interaction between users. Classic examples of Web 2.0 applications are RSS to push and pull data, Wikis for collaborative document creation and content management, Digg for news, and Wikipedia for the encyclopedia. Here, it is rapidly being made evident that anybody can contribute, validate, modify, and rank articles that are being published. Here, anybody can be an expert, and hence a contributor. These are dynamic forums that help engage in a conversation (as against information provision), and offer instant gratification. This is a radical change in the mindset.

One of the results of this technology is the emergence of social networks like Facebook and LinkedIn that allow people to connect. Facebook started as a simple application designed to let college students to interface. It quickly attracted millions of users and expanded beyond the college -connecting people all over the world in a virtual community. Facebook, taking advantage of SOA and Web 2.0, published a public API to enable non-technical developers extend the Facebook platform. Within days, new applications were being created for Facebook. Now there are over 6,000 applications, being used by millions of Facebook subscribers. This is a typical example of how 'consumers' are able to write their own applications outside the actual, central application.

Let's look at one of these applications. The Map My BFF (Best Friend Forever) application draws on content from Google Maps and different services within Facebook. Instead of coding a new application from scratch, the creator mashed together existing applications.

This is typically a 'Mashup'. The term 'Mashup' is derived from the music industry, where disc jockeys integrated multiple albums to create a new song. Extending this to the IT world, SOA provides users the ability to consume Web services and combine functionality and content from enterprise applications.

For instance, you could combine the quotation functionality of Salesforce.com (a Customer Relationship Management Solution), with order entry functionality from SAP and HR information from PeopleSoft. A business Mashup comprises of a human workflow process, a connection to an external service, and an orchestration between the workflow process and salesforce.com. Other business Mashups may simply present human workflow processes. Others may connect existing systems such as Oracle and SAP - all without writing code.

Until now it took a highly technical developer to develop this. Relying on such talent to solve simple problems is a non-starter, owing to limitation on resources and budgets.

Mashups introduce a new approach to creating simple applications. With business Mashups, non-programmers assemble existing building blocks into new, nimble applications that meet specific business needs. Non-developers can now design human workflow processes, orchestrations between different systems, and connections to external services to solve simple business problems. This is the age of the 'prosumer', the producer consumers.

However, when we talk about Mashups, there are 'governance' issues that are likely to be raised. While it is prudent to acknowledge these issues, most 'Mashups' and Web 2.0 'developers' consume only those Web services that are already created by IT. Control and governance continue to exist with traditional IT. Only data that is relevant, and is not a security risk, needs to be exposed. This ensures security, compliance, and governance.

Data is centrally managed, and relevant data is exposed to the business through these services, and is made available, reducing the need for data to be exported to the users' desktops. This, therefore, guarantees reliability of data.

This revolutionizes the way organizations think. Web 2.0 and Mashups make it possible for businesses to foster innovation, while maintaining security. The platform blends the 'innovation-without-permission' mentality of Web 2.0 with enterprise-class security, reliability, and compliance, while bringing business and IT closer to each other, without overt dependence, but with better collaboration between business and IT, helping organizations become more open.

The author is Regional Product Manager, APAC, Serena Software
Share on LinkedIn