Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Both cloud computing (specifically SaaS) and SOA promote the idea of services for transforming software to a commodity.

However, most SaaS providers focus mainly on providing the service to the end user, but the products aren't well suited for back-end integration.

Most providers provide only an API access to their service.

Some provide also integration with other specific SaaS services

But if one wants to aggregate data and functionality from different services which weren't planned to work together, he needs to use traditional tools to access and consolidate them - loosing many of the benefits of SaaS

A concrete example Consider an organization that uses a SaaS solution for CRM, and another one for HR management. both of them will probably include an API (REST or WS) that allow to interact with them. However, most chances, that they won't allow you to directly synchronize user profiles between them. To do so you need to pull data from the HR system, and send it to the CRM system. this mechanism isn't currently available as a cloud service. and you will need to use "standard" integration technologies - either dedicated tools (ESB, EAI) or custom code, that will run on a server that you need to maintain.

What do you think will be enablers of cloud based integration ("Cloud Service Bus")

Some ideas

  • Development of common Web Services API's for SaaS providers (like all e-mail providers support SMTP and POP3, there will be a common CRM protocol and HR protocol)

  • Development of cloud based broker services with capabilities such as message queuing, transformation engines, workflow engines, etc.

share|improve this question
2  
"most SaaS providers focus mainly on providing the service to the end user"? Really? Have you done a survey to establish this? None of the SaaS we use (or provide) have any end-user component to speak of. –  S.Lott Mar 30 '11 at 9:57
    
If anything, the cloud providers would become the commodity, not the software. Personal rant, I hate the term "cloud" as it is purely a marketing term. It also reminds me of a really bad integration diagram I saw--7 stovepipes going into a big "cloud" where the integration happens (note, this is pre-cloud marketing). On the other hand, I like the more concrete architectural/platform terms you used (SaaS and SOA). –  Berin Loritsch Mar 30 '11 at 12:04
    
The term "cloud" does have a technical definition (or definitions) despite its abuse in marketing. If you believe SaaS is a technical term then you can think of Cloud as SaaS|PaaS|IaaS. It is certainly not web hosting repackaged for example. –  Muhammad Alkarouri Mar 30 '11 at 14:34
    
That being said, the problem of integrating different services which is put here doesn't have a lot to do with cloud computing in my opinion. –  Muhammad Alkarouri Mar 30 '11 at 14:36

3 Answers 3

he needs to use traditional tools to access and consolidate them - loosing many of the benefits of SaaS

What does this mean?

How does using RESTful and SOAP web services "lose many benefits of SaaS"?

We already have lots of SOAP (and REST and WS-*) integration tools that already have the effect of creating a services bus.

Please read up on Oracle/Sun stuff as one example.

TIBCO offers another SOA suite.

Indeed, most Python programmers use urllib2 to do services integration without losing any benefits of SaaS.


Edit.

this mechanism isn't currently available as a cloud service.

Correct. How could it be? what would this service be? Some kind of pre-integrated SaaS that marries an HR and a CRM?

So this could service would have to pre-integrate all available HR and CRM solutions?

Or would it be some cloud-based toolkit for doing integration?

How's that toolkit different from the "in-house" toolkit I'm using today? My in-house toolkit doesn't run on my desktop, it runs in a server farm somewhere in my data center.

share|improve this answer
    
I can't see how any of these enable integration between cloud based application without having a "in house" integration infrastructure (like the solutions you mentioned from Oracle and Tibco). –  Ophir Yoktan Mar 30 '11 at 10:53
    
@Ophir Yoktan: Where else can integration take place? Please explain how it's possible to do integration somewhere else than "in house". –  S.Lott Mar 30 '11 at 11:37
    
@S.Lott The big plus of cloud services (specifically SaaS) is the possibility of having Information systems with out the need of in house infrastructure, and without the need of specialized development. Currently this is true (or becoming true) for relatively isolated applications. what I'm trying to do is to find methods that will allow seamless integration between services that are currently (relatively) isolated. –  Ophir Yoktan Mar 30 '11 at 11:57
    
@Ophir Yoktan: Are you asking about licensing Oracle JCAPS or Tibco on someone else's infrastructure? Is that what you're asking for? –  S.Lott Mar 30 '11 at 12:17
    
"Or would it be some cloud-based toolkit for doing integration?" - this is my main idea. but probably a toolkit that is more SaaS oriented then general integration toolkits. –  Ophir Yoktan Mar 30 '11 at 12:20

What do you think will be enablers of cloud based integration ("Cloud Service Bus")

There's that many different notions of both “cloud” and “integration” that I really doubt that there will be an integration scheme to make them all one. For example, how can you integrate IaaS and SaaS? They're at totally different levels if abstraction. (You might use IaaS to implement SaaS, but that's not integration any more than a CRM system is integrated with the C library.)

Once we reject the concept of being able to integrate everything with everything, it becomes possible to make progress. You can have particular providers specialize in dealing with particular integrations, in the process creating new SaaS or PaaS offerings themselves. (I could quite imagine this happening with merging aspects of CRM and HR.) However there's a need for standardization of core things such as the fundamental data model (e.g., “this is the one true representation of a person as a database entry, and here is the XML serialization of that”) and unfortunately, I really doubt that the vendors are keen on working towards doing such things. They'd much rather lock their customers in to their proprietary solution; it's much easier for them, and more profitable too. If customers want it, they must push for it. Only once those common things exist will it become practical to have a proper ecosystem of cross-domain service providers.

But I wouldn't be surprised if this never happens. It's hard work and customers are too used to having their vendor do the technical thinking on their behalf. (Mind you, that might just be me being cynical…)

share|improve this answer
    
THe question is targeted at SaaS. –  Ophir Yoktan Mar 30 '11 at 17:57
    
Well, the problem with SaaS integration (apart from the fact that there are a lot of types of services out there, including some very specialized ones) is that the vendors mostly aren't interested in doing it. Or at least they all want every other (relevant) vendor to integrate without information/data model integration, which isn't going to work well. –  Donal Fellows Apr 2 '11 at 8:27

Right now, the closest you're going to find are the various XML working groups. They're establishing standards for data representation, which could lead to system interoperability. Maybe. Someday. Once you get a common data format, then you can pass it among systems. You'll need to overcome vendor lock-in, though, to make any real progress.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.