What is most valuable?
Some of the valuable features of SOA Suite are obviously integration, integrating two different systems together to be able to create web services on top of back end systems and expose those both internally and externally. To be able to do transformation, translation of data so that two proprietary systems can communicate. Also really to be able to create services and APIs that can be able to support business processes as well as consumer and composite applications. Oracle SOA Suite is really designed for those types of features.
How has it helped my organization?
Some of the benefits of Oracle SOA are like I was talking about earlier, transformation of fields and data elements. Transaction management as you're integrating two different proprietary systems, being able to manage that transaction and an end-to-end business process.
Orchestration, the ability to be able to apply business rules and different types of rules on top of what your integration and your business processes are. The main benefit is really to integrate proprietary systems that can't naturally communicate with each other through services, through APIs and to be able to reuse those services into composite applications. Be able to reuse those services in workflows, in business processes or whatever the pattern may be. The ability to expose data between these systems as both a provider of information and a consumer of information.
What needs improvement?
More cloud adoption would be good because SOA Suite has a lot of adoption for a lot of on-premise customers and they're just getting started with the cloud adoption model. We'd also like to see some more lightweight, light-scale versions of it. It's like one of their greatest assets can also be one of their greatest detriments which is it comes so feature-rich in such a big product that it sometimes can be an expensive product. Some customers just want a low-scale, lightweight version of the tool and we see quite a bit of need for that. Some improvements on API management, the ability to create APIs on top of services to manage those and the analytics of those, would be some good features that we'd like to see as well.
What do I think about the scalability of the solution?
Oracle SOA has been a rock solid enterprise-level tool for many years. It's really foundationally built on WebLogic and so it has a lot of scalability built into it. I've seen implementations that support millions of transactions per day, hundreds of trading partners, hundreds of web services and APIs. The scalability and the ability for capacity growth has always been there and has always been a fundamental tenet and one of the fundamental principles of Oracle SOA Suite. Because it is an enterprise service bus, it has to be able to have that level of scalability. The implementations really are dependent on what the customer use cases are. Because it's such a feature-rich product there's a lot you can do with it and there's a lot of good ways to implement SOA and there's a lot of bad ways to implement SOA.
Which solution did I use previously and why did I switch?
Usually the tipping point is about 25 integrations. If a customer is hand-coding or hand developing their integrations in a custom platform like Java or .NET. Once you hit about 25 integrations, that's a good time to say, "Hey, I may need more of a commercial platform approach where I can get features such as air handling, login, analytics, transaction management." All these that are built in into a battle-tested product, that's when you start hitting that tipping point. At about 25 integrations is when a customer should begin to look at making that type of investment.
What about the implementation team?
Some of the good ways to implement SOA in a traditional, agile, system development lifecycle is really trying to understand what are the functional use cases. What is the business process that needs the support? Some of the other key aspects are being able to understand what is the universal data model that you're going to be integrating? Right? What are the fields and elements on the back ends' system that's providing the information and what are fields and elements on the consuming system? Then be able to come up with a semantic level, canonical level mapping between those two and be able to create a universal data object. Create a loosely coupled implementation.
Traditionally building integrations does follow a system development lifecycle. Traditionally going through requirements, design sessions, integration, development, testing and so forth, There's a lot of techniques to do those rapidly in an agile-like way but there's also some ways to also blueprint those so that they're well documented, well understood. It helps keep your technical debt low for organizations who have to manage and maintain these over the course of many different years. Oracle SOA is well-designed, it is a product that we've implemented many times over and we've built a lot of best practices to help customers understand the complexity or take some of the complexity out. Because at the end of the day it is a platform, it's not a shrink wrapped solution. It's a platform that you have to be able to build things on and if you're not building things the right way, you can easily create what we call 'spaghetti architecture'. Which is building a bunch of point-to-point integrations between these systems that is not loosely coupled, not reusable and not scalable because they're not following good design patterns. If you're going that approach which unfortunately we see some customers do, then that could get you in trouble. We've got some frameworks and some solutions on how to avoid those types of architectures and designs.
Which other solutions did I evaluate?
We have a checklist because we actually end up being independent advisors, we've helped a number of customers with evaluation, score carding and selection. Because at the end of the day SOA Suite is not the only product out there. There's other products such as MuleSoft, WSO2, they all have integration platforms too that Oracle is competing with. It really is what platform is the best for the customer? Some of the key criteria, what we see are how easy is it for a developer to build integrations, how quickly can they do it, how quickly can they deploy their applications to products? Does it integrate well with DevOps and version control systems? How robust is their login and analytics? Some of these are key fundamental features for a lot of enterprise-level customers. Those need to work or the customer can really get themselves in trouble if for example a transaction fails. What do I do? If you don't have good features in the product to recover from such situations, that can lead to a lot of headaches for a lot of our Fortune 2000 clients.
What other advice do I have?
Rating: I would give it a solid eight. I want to say ten but nothing is perfect. Gartner does rate it as one of the leading vendors in their quadrants, so that's always good as well. We've seen a lot of adoption, a lot of Oracle customers have bought it and it's got a lot of good features. The reason why I may not give it a nine or 10 are some of the things that we talked about earlier, some of the potential weaknesses around cloud enablement, lightweight enablement, pricing, things like these. That have been a little bit of inhibitors to some of the smaller and medium-sized customers and around API management as well.
From an enterprise service bus, SOA-level product, we definitely think it's one of the leaders out there. We can certainly help a customer with an evaluation and selection, you can learn more at our website, visualintegrator.com. Some of the things I would absolutely look at, at least three to five vendors in this space, come up with your key use cases, your key functional use cases, your key technical use cases, provide waiting criteria on those and scorecard these vendors. Scorecard then on their capabilities, ask them to do a proof of concept, always important. A lot of them will do developer day workshops with you.
Ask them to do something like this and really take a look at a selection of vendors to see what is the best fit for your organization. Because the reality is you have choices out there and SOA Suite maybe the perfect fit for you, it may not be the perfect fit for you. You really have to take a look at it and say, "Does it fit my needs with their features, with their pricing, with support and so forth?" Really do that level of evaluation and selection. That's one of the things we actually incidentally specialize in helping customers with as independent advisors. Certainly if a customer were to do that, those are the things I would certainly focus on.