Welcome to the Tutorials of Oracle SOA 11g. The intent of these tutorials is to provide you in depth understanding of Oracle SOA 11g suite. In these tutorials, we will cover topics such as installation of Oracle SOA 11g, configuring adapters, creating business rules and SOA projects. We will also discuss in detail about security in Oralce SOA 11g, and different protocols that we use to connect to partner systems
In addition to Oracle SOA 11g Tutorials, we will look at common interview questions, how to tutorials, issues and their resolutions.
The pace of new business projects continues to grow—from increasing customer self-service to seamlessly connecting all your back office and in-the-field applications. At the same time, there is an urgency to mobile-enable existing applications, integrate with the cloud, and begin development on the latest trend of connecting Internet of Things (IoT) devices to your existing infrastructure. When companies address each of these new integration challenges independently, using a patchwork of niche specialty integration toolsets, the original goals of faster business integration, increased application infrastructure flexibility, and reduced costs are no longer achievable.
This is why Oracle SOA Suite 12c was developed: to simplify IT by unifying the disparate requirements of mobile, cloud, and IoT integration into one unified and standards-based platform.
Oracle SOA Suite 12c enables you to:
– Reduce time to market for new project integration
– Reduce integration cost and complexity
– Efficiently manage business and technology change
– Provide end-to-end solution monitoring with root cause analysis
– Gain increased visibility to quickly react to business events
– Ensure high availability and scalability for your business infrastructure
What is SOA middleware?
What is a service oriented architecture?
What is Application Integration Architecture?
What is a Web service in SOA?
Service is the essential concept of SOA. The idea of a service was developed in the world of business.
The use of services provides major benefits:
– In contrast to the use of large applications, which tend to be “information silos” that cannot readily exchange information with each other, the use of finer-grained software services gives freer information flow within and between enterprises. Integrating major applications is often expensive. SOA can save integration costs.
– Organizing internal software as services makes it easier to expose its functionality externally. This leads to increased visibility that can have business value as, for example, when a logistics company makes the tracking of shipments visible to its customers, increasing customer satisfaction and reducing the costly overhead of status enquiries.
– Business processes are often dependent on their supporting software. It can be hard to change large, monolithic programs. This can make it difficult to change the business processes to meet new requirements or to take advantage of new business opportunities. A service-based software architecture is easier to change – it has greater organizational flexibility, enabling it to avoid penalties and reap commercial advantage. (This is one of the ways in which SOA can make an enterprise more “agile”.)
The service concept also makes possible further features of SOA.
Clear service descriptions are a starting point for service re-use, which can provide another major benefit of SOA:
– Using existing software modules rather than writing new ones means lower development and testing costs and – in many cases an even greater saving – lower maintenance costs.
You can have an SOA in which software services invoke each other directly; for example, by programming-language function calls. But, in many SOAs, the software services always invoke each other by exchanging messages, even where they are executing on the same processor. This might seem to be an additional overhead but, if the services are loosely-coupled (as they should be), then the number of message exchanges is relatively small, and the overhead is reasonably low.
Consistent use of messaging provides a key benefit:
– Services can very easily be moved between computer systems within the enterprise, and it is reasonably easy to use externally-provided services to replace internal ones, and vice versa. Which services handle which messages can be changed rapidly to meet changing business needs, or to tune performance. In short, messaging provides significant configuration flexibility.
Having a central mechanism by which all messages are exchanged facilitates monitoring, control, transformation, and security of messages.
Message monitoring can provide three key benefits:
– Monitoring message streams between business activities, and analyzing them to obtain information about those activities, is known as business activity monitoring. It can be a valuable source of business intelligence.
– Monitoring message volumes and response times is a valuable source of performance measurement. Service contracts often include performance clauses. Performance measurement enables service designers to put realistic clauses into the contracts, and enables systems managers to verify that those clauses are being met.
– Monitoring messages and message volumes can provide security attack detection, including detection of denial-of-service attacks as well as of attacks in particular messages.
Message control can provide:
– Application of management policy; for example, by restricting a service consumer to a contracted service volume, or giving priority to certain kinds of message
– Application of security policy; for example, by controlling access to certain services, or rejecting messages that could damage the enterprise systems or the enterprise itself (e.g., messages containing viruses that could destroy data)
Message transformation can provide:
– Data translation – the conversion of data from one format to another through automated field mapping.
Data conversion by specially-written software is expensive. The use of generic data translators can bring significant cost saving.
Message security can include:
– Data confidentiality through encryption of messages
– Data integrity through addition of cryptographic integrity-check fields
Security is a complex area that is of crucial importance to enterprises. The ability to encrypt and apply integrity checking to messages in transit can be a valuable component of an overall security strategy.
Complex Event Processing
In SOA, CEP is often used, not only for external events, but also to detect patterns in the flow of messages between services. When used in this way, it becomes an extension of message monitoring.
CEP provides the following benefits:
– Simplification of software structure – by removing functionality that is not business-related from the business software services
– Ability to adapt quickly to different external environments – by concentrating in one place the logic that relates environmental events to business events
– Improved manageability and security – when used with performance measurement and security event detection
Service composition is the putting together of a number of simple services to make a more complex one. For example, a “product sale” web service could be composed of simpler “product selection”, “shopping cart review”, “payment method selection”, “credit card payment”, and “invoice payment” services. Service composition provides a key benefit:
– Ability to develop new function combinations rapidly
For example, if it is decided that the product sale service should cater for a new method of payment – “Internet cash” – this can be done by developing a new “Internet cash payment” service, and including it in the composition.
Aspired to become an Oracle SOA? Explore the post to discover the know-hows on Oracle SOA Training.
When a program uses a software service, the identity of that service can be explicitly given in the program code. For example, where services are implemented as Java objects, their methods can be invoked by name by user programs. Where messaging is used, the destinations of the messages can be explicitly named at programming time. This is called hard-wiring of service connections.
Hard-wiring is a simple approach, but it has limitations. A different and much more flexible approach is service discovery. In this approach, the identity of the target service is not known at programming time, but is discovered at run time. The user program finds target services that meet its requirements, and chooses one of them.
The benefits of service discovery are:
– Ability to optimize performance, functionality, and cost – by selecting component services by these criteria
– Easier introduction of system upgrades – an upgraded service can be made available for selection in parallel with the one that it replaces, which can then be withdrawn
An important feature of SOA is the recognition that the assets perform services, and the development of software façades that provide access to these assets and have interfaces that are in the same form as the interfaces to other software services of the enterprise. This is called asset wrapping.
When an enterprise adopts an SOA, asset wrapping is typically applied to existing application software packages. This provides a significant benefit:
– Ability to integrate existing assets – which means that the value of an enterprise’s existing assets is preserved, the cost of developing or acquiring replacements is avoided, and there is a smooth migration path from the old architecture to the new one
A façade can present to the consumer a virtual asset that does not correspond to the real underlying assets. This technique is called virtualization. Virtualization can be used to enable programs that were written to use one asset to be executed with a different asset. For example, there are so-called “hypervisors” that can provide different operating system environments to programs running on a single CPU. But in the context of SOA it is more commonly used to create virtual assets that are functionally similar to the underlying assets. This can deliver two benefits:
– Improved reliability – through redundant operation of the underlying assets, so that one can take over when another fails or is withdrawn for maintenance
– Ability to scale operations to meet different demand levels – through dynamically increasing or reducing the number of underlying assets that support a real asset, as demand rises and falls
Model-driven implementation refers to the automatic realization of a system or application from an abstract model. Where the model starts at a high level of architectural abstraction, it is usually referred to as Model-Driven Architecture (MDA).
SOA lends itself particularly well to model-driven implementation, because it is based on a high-level software module concept (the service) for which there are good definition and interface standards.
Model-driven implementation provides:
– The ability to develop new functions rapidly – an important form of agility
In SOA, model-driven implementation can be applied to service compositions as well as to software services.
Benefits of SOA
– Improves developer productivity through easy-to-use, drag-and-drop features for rapidly assembling metadata-driven business applications
– Enables highly flexible and responsive applications through event-driven SOA
– Delivers visibility, flexibility, and speed through best-of-breed tools that provide industry-leading functionality
– Enables organizations to adopt suite components incrementally to suit the needs of specific projects
For Indepth knowledge on Oracle SOA, click on below