What is our primary use case?
We position Oracle SOA Suite as the central on-premises integration platform, to integrate existing on-premises systems with each other. Furthermore, it is used in upcoming hybrid architectures, where Cloud-based systems and Cloud-native apps, need to be integrated with the existing on-premises applications.
How has it helped my organization?
The product allows you to visualize how a company is working currently by providing rich possibilities for analysis such as the audit trails and therefore shows where improvements might be valuable. This becomes more and more important for companies to differentiate themselves from competitors.
What is most valuable?
A definitive differentiator is the very good integration capability the platform provides: It has a broad spectrum of connectivity adapters to integrate with third party enterprise information systems, like SAP, Siebel, and JD Edwards, and also cloud solutions like Salesforce.
In addition, the platform comes with a standalone, first-class Service Bus component that can be used for service virtualization. This enables customers to create and edit new integrations efficiently and helps to adopt new trends or concepts, like cloud, very fast.
Aside from that, the platform also addresses business needs (process automation with BPEL), allows to further transparency for business transactions (audit trails, Business Activity Monitoring) and provides rich capabilities in the direction of fault handling and resiliency.
EDIT: In the newest version (126.96.36.199), Real-Time Integration Business Insight is directly included. Isights allows to declaratively define monitoring milestones for complete business process flows, without touching the implementation. The declared monitoring model can be adjusted at any time at runtime and the data can be displayed in different ways using different dashboard components. Another great thing to achieve more visibility regarding how business is performing.
What needs improvement?
The Integrated Development Environment (IDE), which is JDeveloper in this case. Also, the integrated development environment could be better in some points such as the stability and the comprehensibility of errors.
EDIT: The Maven integration in JDeveloper is very basic and might be enhanced to allow the proper use of Maven.
For how long have I used the solution?
More than five years.
What do I think about the stability of the solution?
There have been no issues aside from the local development environment.
What do I think about the scalability of the solution?
We have had no issues scaling it for our needs.
How are customer service and technical support?
The level of technical support is satisfactory, but it depends highly on the affected components and on the way the error can be described and what information can be provided, e.g. by providing a reproducer or a detailed error log.
There is also a lot of documentation. In addition, the development community is also responsive and provides a lot of information in the form of blog posts, webcasts, and presentations.
Which solution did I use previously and why did I switch?
There was nothing in place previously.
How was the initial setup?
The initial setup is neither straightforward nor complex. It always depends on the specific situation, like the available IT system landscape, the already existing applications, and the needs of a project.
The platform as such can be installed following best practices provided by the vendor, such as the Enterprise Deployment Guide. Oracle partners also provide tools that support you in infrastructure setup and maintenance.
What's my experience with pricing, setup cost, and licensing?
It is necessary to evaluate the requirement regarding the platform usage and what the main operation area of the platform will be. Because depending on that, the initial sizing of the infrastructure has to be done. Typical questions are:
- How many instances do you expect per day/month/year?
- What is the average amount of data?
- Should the environment have High Availability?
- What kind of integrations/processes will you have - stateless or stateful, long running processes derived from the requirements, and evaluated at the very beginning?
A topology blueprint should be created and validated against these requirements.
Which other solutions did I evaluate?
No other options have been evaluated.
What other advice do I have?
Collect your requirements and be clear with what you need. Before starting a concrete project or even before doing the final sizing, talk with others who have already implemented the solution or have reliable experience in this area. This will help you to get things right from the beginning and help you to avoid running into pitfalls. Do not undersize the environment and always keep in mind what will come in the future.
The product can be used to build a company's robust foundation regarding a enterprise-wide integration platform without hesitation, which we already did in different project contexts. Because the platform helps to solve complex problems, it is complex itself and so not that easy to understand and to learn. The learning curve is high accordingly.
EDIT: To ensure robustness and easy changeability of the developed services and components, my recommendation is to set up a Continuous Integration (CI) environment as a first step in every project. The CI environment is the central platform for automated test executions as well as for deployment automation and is - from my point of view - absolutely needed to succeed with complex integration implementations.