In this article, you will learn about latest standards for Service Oriented Architecture, and in particular, how it relates to Oracle, in today’s competitive world.
SOA of the Next Generation
In this day and age, enterprise applications have already begun the transition from user interface driven applications to assemblies of interoperable services that are also reusable. Such services are representative of the easy business functions that are intended to be assembled together in to the form of new applications.
One of the main advantages of such a change in application architecture is that services can now be reused in the evolution of business processes. At the same time, users should keep in mind that such an approach to the construction of composite applications and business processes will not work in the absence of a standards compliant platform for the construction of such services.
Interoperability can be quite a challenge owing to the fact that Web services protocols for such activities as messaging, optimization, and reliability can be quite complicated. Services may in fact be hosted across a number of different platforms. Without a platform that has been designed around standards and targeted towards achieving interoperability, it may not be possible to quickly weave services together as a means of meeting rapidly evolving business requirements.
One type of middleware developed by Oracle, Oracle Fusion Middleware, has been constructed on a common service infrastructure. It is designed to utilize industry standards for all its Service Oriented Architecture capabilities. Service quality protocols and optimization of messages are provided as a means of improving functionality. Such tools can be utilized outside of business logic as well as the implementation strategy for services.
Businesses will also benefit from standards that describe not merely how applications cooperate, but how they are constructed. Through the usage of Service Oriented Architecture standards, businesses can escape platform lock ins, while developers will be brought up to speed with skills that are easily transferable.
In short, the next generation of development standards are going to focus on two main areas: first, the providing of a common model for the control of relationships among services; secondly, allowing developers to implement robust web services utilizing familiar Java objects.
While there might have been an explosion of proposals for web services early on, the standard platform for Service Oriented Architecture is constructed on a platform that is based in the following three areas: implementation, messaging, and service description and discovery. Let’s take a look first at the messaging component.
Readily comprehensible and interoperable standards for the sending of messages among services form the basis of interoperability. In order for services to be able to communicate with each other, messages should be encoded according to SOAP 1.1 and SOAP 1.2 specifications. The messages are then exchanged through HTTP. SOAP standards thus form the foundation of network interoperability.
Two vital standards that are utilized as a means of aiding the capabilities of compression and efficiency within SOAP messages that include binary content are MTOM and SOAP with Attachments.
The Oracle Service Fabric makes use of both optimizations as a means of ensuring that services are able to communicate in as fast and efficient a means as is possible. As SOAP provides only the basics of message exchange, a lot more data is needed in order to provide message directives in the event of an asynchronous exchange. WS Addressing defines message headers that are then applied to SOAP messages in order to determine where responses can best be sent while simultaneously rendering correlation among the messages.
It is quite often vital to provide guarantees that asynchronous messages will be delivered to services. Oracle has worked with OASIS standards body to co-author and drive industry convergence surrounding the WS ReliableMessaging protocol, which is utilized by services as a means of providing guarantees around the delivery of messages and the order in which messages are processed.
One of the most vital components of web services for enterprise applications is security. Oracle is one of the companies that have been leading work in a lot of the key standard committees surrounding security as well as identity federation via the use of Web Services. SOAP messages in particular are secured via WS Security, which is now used as a means for defining the ways in which encryption, authentication, and digital signatures should be utilized as a means for securing communications.
Metadata for the Description and Discovering of Services
The service infrastructure of Oracle utilizes metadata standards as a means for describing the messages and protocols that are utilized by web services. Such metadata standards are then used by infrastructure and applications as a means for guaranteeing that services will be able to interoperate based on the requirements placed on users by the services. Vital metadata standards include UDDI, WSDL, WS MetadataExchange, and WS Policy.
WSDL is used to describe messages that a service is capable of sending and receiving. It is the most basic contract language that is utilized to describe business functionality that is offered by a particular service.
WS Policy describes the quality of service requirements and characteristics that are associated with a particular service. Such policies tend to describe a service’s security requirements, optimizations that such services as MTOM are capable of supporting, and whether the service utilizes WS ReliableMessaging. Oracle Web Services Policy Manager is the provider of the tools for building and enforcing policies for Oracle Fusion Middleware.
WS MetadataExchange can be thought of as a handshake protocol that allows users to retrieve WS Policy and WSDL documents that are associated with a service.
UDDI is a model that is utilized by service registries. It is known for providing a common repository of metadata about various services that may be utilized to discover what services are available and then select which services are available to use for the building of new composite services and business processes.
JAX WS is a standard that is defined in the Java community process that is descriptive of how Java developers may go about creating Web services. Like a lot of the newer Java EE specifications, JAX WS eliminates a lot of the complexity that is associated with the development of web services. For instance, JAX WS provides a very simple model for the implementation of business logic, while exploding the contract as a WSDL interface via the use of annotations on the code of implementation. Through the leveraging of JAX WS, developers are then able to build portable services by utilizing skills that can be applied widely across many different products.
You can find very good article with sample code annotated Java class for web services
Oracle Fusion Middleware combines all the key standards that have been discussed thus far together in to a common service infrastructure. Such a service infrastructure is in turn shared throughout the entire middleware platform. This guarantees a common, interoperable basis for the deployment of the next generation of enterprise applications. Developers can thus configure services that have been deployed upon the service infrastructure in order to leverage such standards through the use of a composite service descriptor, as has been described the Service Component Architecture standard. This model presents an elegant mechanism for the combination of all the standards discussed so far in to a simple description of services as well as their relationships.
As standards are considered to be the starting point for all interoperability, Web services that are constructed with Oracle Fusion Middleware tend to conform to two profiles delineated by the main industry consortium on interoperability. One is the WS Interoperability Basic Profile 1.1, while the other is the Basic Security Profile 1.0. What is more, Oracle makes extensive use of testing frameworks that are focused solely on interoperability with major vendor platforms as well as open source web services stacks. Oracle also participates in interoperability events that are open to the public where vendors can validate interoperability among platforms. This gives application developers a foundation upon which they may then build interoperable services that can be readily coordinated in the formation of composite applications.
The Oracle Strategy
Oracle Fusion Middleware is renowned for providing comprehensive infrastructures and tooling for the deployment and development of service oriented applications that are based on J2EE applications, as well as ESB flows and BPEL processes. Through the usage of unified Service Oriented Architecture tools that are provided in Oracle Jdeveloper, it is vital to bring services together in to a new generation of business processes and composite services.
Once they are built, the services can then be deployed to an SCA based service infrastructure, which is a run time environment that renders a common bus for both network connectivity and the delivery of messages. The service infrastructure is then shared across the Fusion Middleware Platform, allowing single infrastructure to provide such services to the full product suite.