Working at Zirous, an Oracle Partner, we have a lot people working on Oracle SOA or Service Oriented Architecture projects. In doing some research about Oralce SOA I have read through a lot of articles about and what options it has. There is a lot of pieces to the Oracle SOA Suite. Let’s first talk about the basics.
What is Service Oriented Architecture?
The Service Oriented Architecture or SOA is a way of building software that allows different systems to communicate. For instance if you have a .Net platform application that needs to talk with a Java application SOA could provide that.
SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA facilitates the development of enterprise applications as modular business web services that can be easily integrated and reused, creating a truly flexible, adaptable IT infrastructure. from Oracle Docs
A few years ago I was working on a Java system that was supposed to communicate with a .Net application. I wrote a simple web service that allowed for us to provide them with a file given the correct information. SOA has been around for quite awhile and is very powerful, but it can be complex to build at times.
How does SOA work?
SOA takes the approach that we need to split activities into separate services. Similar to the Object Oriented approach of design principle of loose coupling, that will encourage reuse of the components or services. If we make things distinct we can reuse the functions it provides to streamline the business. For example, if we have an audit log service we can call it from various applications to provide auditing throughout our system.
The services pass messages back and forth to communicate. There are web service standards that help to define the message. One important step is the creation of a Web Service Description Language file or WSDL. This file will define the message structure that you must pass to call the service, it defines or describes how “talk” to the component. The WSDL will have also have a XML Schema Documents or XSD that define what could be in the WSDL. These standards are widely accepted as a common way for applications to communicate.
SOA allows users the ability to combine various chunks of functionality and create business processes from existing services. It also allows for an exchange of data from various vendors and can save costs and time as the solutions can be based on services that are already tested.
Next time we will dig more into Principles of SOA.
If you enjoyed this please consider sharing and joining our newsletter.