Service Oriented Architecture

SOA establishes an architectural model that aims to enhance the efficiency, agility, and productivity of an enterprise by positioning services as the primary means through which solution logic is represented in support of the realization of the strategic goals associated with service-oriented computing.
A service-oriented architecture (SOA) is a group of services that communicate with each other. The process of communication involves either simple data-passing between a service provider and service consumers, or a more complicated system of two or more service providers. Intercommunication implies the need for some means of connecting two or more services to each other.
SOAs build applications out of software services. Services comprise intrinsically unassociated, loosely coupled units of functionality that have no call to each other embedded in them. Each service implements one action, such as filling out an online application for an account, viewing an online bank-statement, or placing an online booking or airline ticket order. Instead of services embedding calls to each other in their source code, they use defined protocols that describe how one or more services can "talk" to each other.
SOA's goal is to allow users to string together fairly large chunks of functionality to form ad hoc applications that are built almost entirely from existing software services. The larger the chunks, the fewer the interface points required implementing any given set of functionality; however, very large chunks of functionality may not prove sufficiently granular for easy reuse. Each interface brings with it some amount of processing overhead, so there is a performance consideration in choosing the granularity of services. SOA has proven that the marginal costs of creating the x-th application is low, as all of the software required already exists to satisfy the requirements of other applications. Ideally, one requires only orchestration to produce a new application.
SOA offers one such prospective architecture. It unifies business processes by structuring large applications as an ad hoc collection of smaller modules called "services". Different groups of people both inside and outside an organization can use these applications, and new applications built from a mix of services from the global pool exhibit greater flexibility and uniformity. One should not, for example, have to provide redundantly the same personal information to open an online checking, savings account, and further, the interfaces one interacts with should have the same look and feel and use the same level and type of input-data validation. Building all applications from the same pool of services makes achieving this goal much easier and more deployable to affiliated companies.
Every enterprise has its islands of corporate assets – whether that is the employees, suppliers, partners (and information about them) or existing IT infrastructure – which must be connected and then leveraged to achieve corporate objectives. One of the most efficient and effective methods to integrate applications is through a service-oriented architecture (SOA). An SOA is an approach to distributed computing that involves the creation and management of discrete services (e.g. check customer credit, create customer record) that can access the corporate assets and pieces of information with a common interface regardless of the location or technical makeup of the function or piece of data. These services are exposed and managed in a loosely coupled manner that is designed to maximize reuse, with a natural extension to using these services within business processes.

The key to delivering improved business processes lies in harmonizing new processes and applications with existing infrastructures including existing technologies such as enterprise resource planning (ERP) and customer relationship management (CRM). An effective BPM solution will leverage the concept and implementation of SOA, and ultimately the underlying applications. Any solution must bring benefits to the bottom line without discarding what works. In fact, you can argue that any mature SOA will have to have a BPM layer in order to organize the execution of the various services available into a sensible process that meets some business goal. It’s not just that BPM can exploit an underlying SOA. Providing technology that enables users to map out the business process in clear graphical notation is important, but being able to execute that process; facilitating integration with legacy systems and commercially available packages; and then analyzing and managing how those processes are working together, is also vital. Enterprise Concept is using unique independent process layer separates the business process logic from the application layer, making integration much smoother and infinitely scalable.
BENEFITS
Improve business visibility
Integrate systems and aggregate data for a consistent, accurate view of your customers:
- Up-to-the-minute information for improved customer service
- Cross-enterprise information for targeted 1:1 activities
- Consistent, accurate and more comprehensive information for better decision-making
Achieve business flexibility
Create an integrated, agile software infrastructure for quickly responding to business needs:
- Rapid delivery of new business capabilities
- Reduce impact of business and technology changes
- Protect investments while creating new functionality
Gain business efficiency
Create an integrated, agile software infrastructure for quickly responding to business needs:
- Securely share business processes inside and outside your firewall
- Bridge silos of data and ensure data integrity
- Proactively manage business decisions with key performance indicators


