Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Service Oriented Architecture : Why SOA?

By Exforsys | on July 3, 2007 |
SOA Tutorial

Service Oriented Architecture : Why SOA?

The vast majority of businesses working in the field of Information Technology in this day and age find themselves having to justify their projects with a return on their investments. This puts Information Technology, as a field, under an enormous amount of pressure. IT must boast requirements that are increasingly responsive and flexible to the shifting needs of different businesses.

Firms dealing with Information Technology must also be able to face the challenge of taking on an array of software systems that may or may not be compatible with one another. What is more, IT has to face demands to bring new commercial services to a much wider array of customers. Customers these days may be accessing services through web interfaces, or may be part of a supply chain that needs to decrease the time and cost of manufacturing.

Thus, Information Technology companies are always on the look out these days for solutions that will help them meet these demands – without having to spend a lot of money.

While Service Oriented Architecture may not solve all the problems posed by the increasingly complex realm of Information Technology, employing SOA tactics can bring a lot of benefits and rewards to a company. Typically, these benefits fit in to one of the following three categories:

  • Standardized interfaces and data models
  • Re-use
  • Composability

Why Use Service Oriented Architecture Now?

One question that people commonly asked after being introduced to the wonders of Service Oriented Architecture is, why haven’t people been using this for the last twenty years? People tend to forget that one of the main things you will need in order to build a system out of parts is a standard method of representing software parts. If no such standard exists, then things can be incredibly difficult. Service Oriented Architecture is not exactly a new thing. Businesses have spent the last fifteen years trying to come up with a set standard. While CORBA and DCOM have been in existence for a while, they never became world wide standards.

It is the Internet that has in many ways set up standards – namely HTTP and HTML – that link together people all over the globe. Businesses witnessing the growth and the development of the Internet decided to use similar strategies to link their own computer systems together. Such businesses first came up with Web services standards. Such services are based on technologies that originated on the Internet and make use of such technologies as XML and HTTP as a means for representing software parts and linking together a number of different computer systems.

In recent years, there has been an adoption of web services as the standards upon which to base Service Oriented Architecture. Software vendors such as webMethods have brought out on to the market a variety of products that have made Service Oriented Architecture quite useful.

What is Service Oriented Architecture?

Businesses are now having to think a lot more seriously about how to best assemble their systems out of common parts. Service Oriented Architecture has caused this change in the way such systems are thought of. It requires a lot more planning and investment at the outset, but it also enables businesses to build faster systems in the long run as the inventory of reusable parts grows at a frantic pace.

In such architectural programs, systems tend to be composed of reusable elements, which are referred to as services. A services can be thought of as a software building block that performs a specific function – one of them might be retrieving data about a customer from a database. These functions are performed via well defined interfaces, which are electronic descriptions of how to call on a service from other services.

Service Oriented Architecture represents in many ways an evolution of client server architectures. In such architectures, the functions of application logic, data management, and user interface are all separate, enabling each one to be implemented via the use of technologies and platforms that are most appropriate for a given task. When it comes to Service Oriented Architecture, on the other hand, such functions are decomposed on a further level – particularly the application logic. So, for instance, instead of having business logic be implemented in a monolithic application server, a Service Oriented Architecture based system is able to clearly incorporate services running on several different software platforms – even if those services happen to be hosted externally buy third party providers of services.

In truth, there is not a universally agreed upon definition of Service Oriented Architecture, other than the fact that it is an architecture that literally relies upon service orientation as its main principle of design. Service orientation is the description of an architecture that makes use of loosely coupled services as a means of supporting the requirements of users and corporate processes. Network resources in a Service Oriented Architecture environment are made available as independent services that one can access without having knowledge of the underlying platform implementation. Such concepts can be applied to software, business, as well as other kinds of systems that rely on producers and consumers.

Aspects of Service Oriented Architecture

Let us now take a look at some of the key features of Service Oriented Architecture. The best way to go about doing this is to break SOA down in to its acrimonial elements. We’ll start with the last letter first: A for Architecture.

We will first examine architecture in reference to Service Oriented Architecture. Usually, in the realm of software, architecture tends to define the overall intercommunication and definition of different high level components. To put it simply, this is how a solution is broken down in to logical units – and how they will operate with one another. In a way, Service Oriented Architecture is representative of an approach to architecture that focuses on how services are defined and how they interact with one another.

Service Oriented Architecture is not something you can just go out and purchase. It is a set of architectural principles. While you might be able to directly purchase certain middleware that enables services and technologies, they alone do not constitute a Service Oriented Architecture.

Now it is time for us to move on to the SO part of SOA. Being service oriented basically means that you are employing an architecture that consists of a variety of services. This might sound familiar to those who have had some experience in the past with Object Oriented Design. In fact, Object Oriented Design and Service Oriented Architecture do have a lot of things in common.

By thinking in terms of services, you are effectively considering how to make your business function so that it stands on its own. This approach is enabled via the use of Service Oriented Architecture. It takes in to consideration the needs of both providers and consumers of services.

The providers of services offer functionality in the form of interfaces to the service capabilities they are providing. The consumer then accesses those capabilities. Such consumers may be an application or even another service provider. So, for instance, a checking account service may offer a functionality set that relates to a particular checking account. Such an account may offer the possibility to make deposits, withdrawals, create new accounts, and more. These capabilities, you may notice, are very particular to the context of a checking account service. We have not yet stated whether such a service might be provided by an ATM machine, a bank teller, or software.

A lot of people tend to believe that this definition of Service Oriented Architecture is merely the latest way to describe the functionality of applications. The fact is, a lot of applications in today’s day and age have already been built with an end user in mind. Thus, an application may encapsulate a group of several different tasks that are somehow related, yet also retain some degree of discretion.

Service Oriented Architecture distinguishes itself in that the consumer of certain application functionalities may very well be another service or application. It is true that human users mostly prefer all functionality to be aggregated together and also accessible through a single user interface. But a lot of other applications do not come with this requirement. Thus, it is logical to have functionality organized around a set of services which may or may not be self contained, yet even in the event that they are, can be somehow woven together in order to create a higher level of services or functionality.


Once these principles of architecture have been applied, you will find yourself with a lot of services that are able to interact as a means of providing a specific functionality set with benefits for your business. This is when re-use comes in to the game. You are now able to quickly build up another solution that will reuse a lot of these services while also providing additional services that the business may require. Such services are woven in to a sort of ecosystem of software. In this scenario, they cooperate as a means of achieving some sort of business objective, while possibly participating in some other ecosystems that offer similar service capability for a possibly different end solution.

« « Supply Chain Management : Industrial Engineering
JavaScript Location Object » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 392 Followers
  • Popular
  • Recent
  • SOA Concepts

    September 26, 2007 - 0 Comment
  • SOA and Network Management Architecture

    October 10, 2007 - 0 Comment
  • SOA Future

    September 27, 2007 - 0 Comment
  • SOA and Business Architecture

    October 11, 2007 - 0 Comment
  • SOA Principles

    September 29, 2007 - 0 Comment
  • Service Orientation and Interoperability

    October 11, 2007 - 0 Comment
  • SOA Industry Usage

    October 2, 2007 - 0 Comment
  • Service Composability

    October 15, 2007 - 0 Comment
  • SOA 2.0 Introduction

    July 1, 2007 - 0 Comment
  • SOA Best Practices

    October 3, 2007 - 0 Comment
  • Service Autonomy

    November 9, 2007 - 0 Comment
  • Service Oriented Infrastructure

    October 21, 2007 - 0 Comment
  • Service Reusability

    October 20, 2007 - 0 Comment
  • Standardized Service Contract

    October 20, 2007 - 0 Comment
  • Service Discoverability

    October 20, 2007 - 0 Comment
  • Service Loose Coupling

    October 17, 2007 - 0 Comment
  • Service Encapsulation

    October 17, 2007 - 0 Comment
  • Service Abstraction

    October 15, 2007 - 0 Comment
  • Service Composability

    October 15, 2007 - 0 Comment
  • Service Orientation and Interoperability

    October 11, 2007 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Service Autonomy
  • Service Oriented Infrastructure
  • Service Reusability
  • Standardized Service Contract
  • Service Discoverability

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT