CSC/ECE 517 Fall 2009/wiki2 17 f1: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 6: Line 6:
This makes it easier for software integration of different modules developed by different people. Rather than defining an [http://en.wikipedia.org/wiki/API API], SOA defines the interface in terms of protocols and functionality such that modules following these protocols can easily be integrated together. The main characteristics of SOA are:
This makes it easier for software integration of different modules developed by different people. Rather than defining an [http://en.wikipedia.org/wiki/API API], SOA defines the interface in terms of protocols and functionality such that modules following these protocols can easily be integrated together. The main characteristics of SOA are:


* Based on open standards - The governing principles are free for all to use and not protected by intellectual property.
* '''Based on open standards''' - The governing principles are free for all to use and not protected by intellectual property.
* Interoperable - Diverse systems should be able to work together (inter-operate)
* '''Interoperable''' - Diverse systems should be able to work together (inter-operate)
* Autonomous - Services have control over the logic they encapsulate.
* '''Autonomous''' - Services have control over the logic they encapsulate.
* Reusable - Logic is divided into services with the intention of promoting reuse.
* '''Reusable''' - Logic is divided into services with the intention of promoting reuse.
* Reliable - It should not have many flaws
* '''Reliable''' - It should not have many flaws
* Discoverable - Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms
* '''Discoverable''' - Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms
* Loosely-Coupled - Loose coupling occurs when the dependent class contains a pointer only to an interface, which can then be implemented by one or many concrete classes.
* '''Loosely-Coupled''' - Loose coupling occurs when the dependent class contains a pointer only to an interface, which can then be implemented by one or many concrete classes.
* Stateless - Should exhibit the same behaviour and yield the same result whether called once, or 100 times
* '''Stateless''' - Should exhibit the same behaviour and yield the same result whether called once, or 100 times
* Composable - Collections of services can be coordinated and assembled to form composite services.
* '''Composable''' - Collections of services can be coordinated and assembled to form composite services.
* Manageable - It should be easy to maintain it
* '''Manageable''' - It should be easy to maintain it
* Secure - It should not be easily hackable
* '''Secure''' - It should not be easily hackable

Revision as of 20:36, 8 October 2009

Using Reflection and Meta programming to support Service Oriented Architectures

Service Oriented Architectures

Service Oriented Architecture is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.

This makes it easier for software integration of different modules developed by different people. Rather than defining an API, SOA defines the interface in terms of protocols and functionality such that modules following these protocols can easily be integrated together. The main characteristics of SOA are:

  • Based on open standards - The governing principles are free for all to use and not protected by intellectual property.
  • Interoperable - Diverse systems should be able to work together (inter-operate)
  • Autonomous - Services have control over the logic they encapsulate.
  • Reusable - Logic is divided into services with the intention of promoting reuse.
  • Reliable - It should not have many flaws
  • Discoverable - Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms
  • Loosely-Coupled - Loose coupling occurs when the dependent class contains a pointer only to an interface, which can then be implemented by one or many concrete classes.
  • Stateless - Should exhibit the same behaviour and yield the same result whether called once, or 100 times
  • Composable - Collections of services can be coordinated and assembled to form composite services.
  • Manageable - It should be easy to maintain it
  • Secure - It should not be easily hackable