In recent years, IT systems have suffered from an uncontrolled growth of both infrastructure and application software. Many datacenters that struggled to react to business changes have developed short-term solutions resulting in collections of superfluous software (repeated code) and superfluous hardware (resources not used efficiently). Furthermore, these short-term solutions make it more difficult to adapt to future modifications. In response to the need for new models capable of responding effectively to the rapidly changing needs of business, IT vendors have offered service-oriented architecture (SOA) and enterprise grid as different solutions that will:
- Increase agility while maintaining high quality of service.
- Make software and IT infrastructure work together in a heterogeneous hardware environment.
- Decrease IT costs.
The fact that the two solutions share the same objectives makes them more likely to enable complementary solutions. Due to the tremendous evolution in SOA infrastructure (BPEL process managers, Web services security and business process analytics) and the adoption of enterprise grid in datacenters, the collaboration between these two solutions has become increasingly beneficial. This article explains how SOA and grid collaborate and empower each other to optimize IT systems.
SOA: The Cure for Superfluous Software
SOA is a software architecture that enables business agility through use of loosely coupled services. It provides a component-based model that enables modular services assembled to build composite applications. These services are reusable business functions that are discovered and invoked using open standard protocols across networks. This approach lowers development and maintenance costs and makes it easy to add new modules or logic to reflect new business process changes.
Enterprise Grid: The Cure for Superfluous Hardware
Regardless of the software model, businesses are constantly increasing their demands for the quality of service (QoS) provided by their IT infrastructure. In current globalized markets, both competitors and growing customer bases force IT systems to quickly react to unpredictable workloads and to provide 24/7 availability. Only an infrastructure that reuses its resources efficiently and intelligently can fulfill these needs without incurring tremendously high costs. In an enterprise grid, all resources in the dat center, including servers, storage and network, work together in pools and are allocated dynamically to each application or service based on policies (such as workload-based pool allocation) that reflect the business requirements. This model provides better management and resource utilization in a datacenter.
SOA Empowers Grid
SOA enables applications that are agnostic to systems’ language, platform and resources. It relies heavily on standards that simplify code reuse and deployment. As IT systems consolidate on common services architecture, it becomes easier to run those services from a pool of resources because those services:
- Use standard interfaces.
- Use consistent and standard process for packaging and distribution.
- Can be monitored and managed together.
- Are consumed by multiple applications, enabling efficient use of resource pools.
Additionally, SOA improves software mobility, so it is better suited for dynamic environments such as grid infrastructure. Therefore, as more applications use an SOA in the datacenter, the grid’s capabilities become more valuable.
Grid Enables SOA
In a typical SOA system, multiple components cooperate and interact to provide a higher-level functionality. An outage in a single component or a service can affect multiple applications. In addition, a slow service that has multiple subscriber applications will affect all of them. Hence, a single service can have huge impact on variety of consumers if the underlying infrastructure does not react and correct the system issue. One of the major benefits of SOA is easy reuse of services. Services announce themselves to consumers without knowing what the number of invokers will be. It is difficult to predict how many service consumers will exist in the future, so scalability is critical.
With flexibility, scalability and availability in mind, it becomes obvious that SOA is the type of architecture that can benefit most from a grid IT infrastructure.
SOA and Grid: Birth of an Autofed System
SOA systems function best in an enterprise grid, and a grid infrastructure increases its value when SOA-enabled applications run on it. Here is an example of this synergy:
- Company X is running AppA and AppB in a grid.
- Company X needs to integrate AppC with both systems.
- Instead of performing point-to-point integration between AppA and AppC, as well as between AppB and AppC, we expose a standard SOA interface for the incoming system. This will reduce the integration overhead, both at development time and at runtime. With the SOA approach, there is one single listener per application, so we reduce the superfluous software that would consume many more resources in a typical point-to-point integration. This will provide a higher scalability to the IT system. It also will facilitate the mobility of AppC because the integration points are not rigid and are exposed with protocols and resources based on standards. Therefore, the deployment of AppC on an enterprise grid is easier to achieve.
- As more applications are deployed, the system must scale better and adjust the resource pool dynamically. Rather than duplicate unnecessary resources, we will use those that are available in the most efficient way using grid, so AppC’s integration point can respond to the demands of AppA and AppB. We also want to make sure that if a new application becomes a consumer of AppC, the infrastructure will react quickly. This availability, scalability and dynamic resource management is best addressed by an enterprise grid.
Company X now has an autofed system that provides timely responses to increasing business demands in a cost-effective manner and improves its efficiency as the cooperation between SOA and grid grows.
SOA and grid have cooperative goals of simplifying the development and deployment of extensible applications on heterogeneous hardware environments. When SOA and grid come together, they enhance each other and the advantages are obvious. As both approaches mature, their synergy is increasing and producing more-agile, automated, efficient and reliable applications in distributed environments.
About Fermin Castro
Fermin Castro is presently a product manager at Oracle Corp. His IT career spans more than nine years with systems architecture, design and development experience in Internet applications. He has been involved with designing and developing J2EE applications since 1998. Fermin holds a Master’s degree (Universidad de Valladolid, Spain) in Physics and a bachelor’s degree (Universidad de Valladolid, Spain) in Electronic Engineering.
About Pavana Jain
Pavana Jain has 19 years of experience in software development, technical support and product management. For the past eight years, she has led the Oracle Fusion Middleware product management team and has helped establish the product as a leader in SOA and grid. Jain has authored several articles and white papers on technology trends, product strategies and women leadership in technology. She has a Masters Degree in Electrical and Computer Engineering and is working toward a Ph.D in Neural Networks.