SOA (Service Oriented Architecture)

544 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
544
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
35
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

SOA (Service Oriented Architecture)

  1. 1. Service-oriented architecture 8th July 2013
  2. 2. What is a Service? • A service is a reusable component that can be used as a building block to form larger, more complex business-application functionality. • A service may be as simple as “get me some person data,” or as complex as “process a disbursement.” • How the service is implemented, and how a user of the service accesses it, are limited only by the SOA infrastructure choices of the enterprise. • From a theory point of view, it really doesn’t matter how a service is implemented. • Service-Oriented Architecture (SOA) is an architectural style. Applications built using an SOA style deliver functionality as services that can be used or reused when building applications or integrating within the enterprise or trading partners.
  3. 3. Analogy • This model could loosely be compared to a SOA. The people in the house uses a number of different "applications" like radiators, computers, toilets, lamps, under floor heating, bathtubs etc. These applications don't care how the city generates the water, creates the electricity or handles the waste as long as it works. The components of the city are generators, water pumps and sanitation areas. It provides the house with all these needs but it's up to the house to use it in what ever way it sees fit
  4. 4. A real world example(cooks) • Let's assume you have 4 cooks. In SOA, you assume they hate each other, so you strive to let them have to talk to each other as little as possible. • How do you do that? Well, you will first define the roles and interface -- cook 1 will make salad, cook 2 will make soup, cook 3 will make the steak, etc.. Then you will place the dishes well organized on the table (so these are the interfaces) and say, "Everybody please place your creation into your assigned dishes. Don't care about anybody else.". • This way, the four cooks have to talk to each other as little as possible, which is very good in software development -- not necessarily because they hate each other, but for other reasons like physical location, efficiency in making decisions etc.
  5. 5. Revolutionary steps • programmers learnt that organizing code into modules made it easy to maintain and reuse This led to the development of large libraries of code that are still used today • The next major revolution in software design was object orientation. The implementation details of an object were hidden from the consumers of the object and could be changed as long as the object’s signature remained the same. This led to even greater ease of maintenance and extensibility. where objects could reside on different machines across a network and talk to each other using various remote access protocols . • The industry gradually realized that there was a huge potential market for pieces of functionality that could be plugged into software applications and customized for that specific application’s needs. This led to the concept of software components. • The latest buzzword in the software industry is ‘Service Orientation’. In this approach, software functionality is defined as a set of services. Service Oriented Architecture (SOA) Explained
  6. 6. SOA is an evolutionary step  for architecture
  7. 7. Motivation • Applicatio n Centric • Goal - Service Centric • Service Centric
  8. 8. Before SOA – After SOA source:IBM
  9. 9. SOA is acronym for Service Oriented Architecture. • SOA is designing and writing software applications in such a way that distinct software modules can be integrated seamlessly with high degree of re- usability. • Most of the people restrict SOA as writing client/server software-web- services. But it is too small context of SOA. SOA is much larger than that and over the past few years web-services have been primary medium of communication which is probably the reason why people think of SOA as web- services in general restricting the boundaries and meaning of SOA. • You can think of writing a database-access module which is so independent that it can work on its own without any dependencies. This module can expose classes which can be used by any host-software that needs database access. There's no start-up configuration in host-application. Whatever is needed or required is communicated through classes exposes by database- access module. We can call these classes as services and consider the module as service-enabled.
  10. 10. What is Service Architecture? • A collection of services • classified into types • arranged into layers • Governed by architectural patterns and policies services type typetype source:TietoEnator AB, Kurts Bilder
  11. 11. Benefits of Service Oriented Architecture (SOA): • 1. Platform Independence – • 2. Focused Developer Roles – • 3. Location Transparency – • 4.Code Reuse _ • 5. Greater Testability • 6. Parallel Development – • 7. Better scalability – • 8. Higher availability –.
  12. 12. What is an Enterprise Service Bus An enterprise service bus is an infrastructure used for building compound applications • is the glue that holds the compound application together • is an emerging style for integrating enterprise applications in an implementation-independent fashion • can be thought of as an abstraction layer on top of an Enterprise Messaging System • is an infrastructure used for building compound applications • is the glue that holds the compound application together • is an emerging style for integrating enterprise applications in an implementation-independent fashion • can be thought of as an abstraction layer on top of an Enterprise Messaging System
  13. 13. Characteristics of ESB • Key Characteristics of an ESB • Streamlines development • Supports multiple binding strategies • Performs data transformation • Intelligent routing • Real time monitoring • Exception handling • Service security
  14. 14. SOA Principles • Standardized Service Contracts • Loose Coupling • Abstraction • Reusability • Autonomy • Statelessness • Discoverability • Composability
  15. 15. SOA Depends on who you are! Business owner: is a solution to increase your incomes and business . Enterprise architect: is a way to draw nice and clean piece of software on a blank canvas. Architect: is the solution to design loosely coupled services over an integration platform, to just plug services into outlets. Developer: is a programming paradigm where a service is in the center of the design and the code.
  16. 16. SOA Depends on who you are! Business owner: is a solution to increase your incomes and business . Enterprise architect: is a way to draw nice and clean piece of software on a blank canvas. Architect: is the solution to design loosely coupled services over an integration platform, to just plug services into outlets. Developer: is a programming paradigm where a service is in the center of the design and the code.
  17. 17. SOA Depends on who you are! Business owner: is a solution to increase your incomes and business . Enterprise architect: is a way to draw nice and clean piece of software on a blank canvas. Architect: is the solution to design loosely coupled services over an integration platform, to just plug services into outlets. Developer: is a programming paradigm where a service is in the center of the design and the code.

×