SlideShare a Scribd company logo
1 of 6
Download to read offline
SOA Best Practices
What is SOA?
SOA or “Service Oriented Architecture” has rapidly gained status as a buzzword among the IT
community, particularly over the last three years. The demand for greater simplicity of reuse and
maintenance of functionality has fostered the evolutionary journey from simple Object Oriented
Programming, via component based software to SOA. Another reason why SOA has gained even
more momentum is that network capacities have increased phenomenally, making distributed designs
feasible. The dawn of platform independent languages such as XML and enterprise strategies such as
Web services have also aided SOA.
Web Services and XML are certainly not mandatory to achieve an SOA, but they are definitely quite
useful for the purpose. However, with different vendors rolling out new strategies on the Web Services
front almost on a monthly basis, it can become difficult for organizations to find guidelines to follow
while the situation stabilizes. This list of basic “Do's and Don'ts” attempts to define a strategy that could
help mitigate risk and maximize business value
Discovery
Agency
Service
Descriptions
A
B
C
Service
Service
Requestor
Service
ProviderInteract
Client
Look-up Advertise
Service Oriented Architecture
The Dos:
DO follow established standards
DO try and use wrappers for a set of tightly coupled components
Often while developing a new design, it is tempting to tweak the established standard just a little bit to
make it fit perfectly. However, with SOA, the aim is to maintain compatibility with other standards
based implementations. Tampering with a standard ends up creating a proprietary implementation,
which may later cause integration problems.
For example, altering a SOAP message format to augment speed requirements may result in the client
being unable to understand the request altogether. Such issues may also remain dormant initially,
which would mean that rectifying them at a later stage would be proportionally costlier.
Legacy designs frequently consist of sets of components, which are tightly coupled to each other in
terms of interfacing and communication. When migrating to an SOA it is important to keep in mind
that every individual component need not be exposed as a service. If exposing each component is not
feasible, it is possible to use a wrapper around a set of components and expose the package as a
service. However, while wrapping components, access policies and business context must be kept in
mind. Randomly wrapping components and exposing them as a single service can lead to security and
performance problems. Ideally the components, which are wrapped, should constitute a unit that can
interact with other components independently.
SOA Migration
Tightly coupled components A&B
migrated as different services
A
B
BA
Wrapper around A&B to
migrate as a hybrid service C
SOA Migration
A
B
A
B
C
DO pay heed to security
Since SOA as a concept depends upon shared, re-usable services, it is mandatory to keep security in
mind while incorporating it. This can be a fair sized job, since if each service is to have an
authentication mechanism, it becomes tedious both in terms of development as well as usage, to
manage all the credentials involved. This often leads to security being relegated to a secondary status,
in favor of functionality and ease of use.
A possible workaround is to have a single service act as the authenticator for all the services. This way,
the authenticator service provides a sort of proxy between the client and the services providing business
functionality. Also since the authentication service is an independent component, it can have stronger
protection features built into it.
DO ensure interoperability
SOA is all about choice. Since every player in the field may have a different strategy, in order to ensure
that the maximum number of consumers can access your service, it is important to design it in such a
way that it can be interfaced from any platform and any programming language. Using a platform
independent standard ensures that your users are free to choose their own implementation
mechanisms. Apart from simply being friendly, this also means that your users will have to go to
virtually no trouble at all to incorporate your service into their existing architecture, which increases the
business value of your service.
For example, a service based on XML and SOAP over HTTP for its communication mechanism can be
accessed from a various number of platforms as opposed to one that uses COM.
User has to authenticate each service User authentication for single sign on service s.
Which authenticates for other services
B
C
A
Security module
for service A
Security module
for service B
Security module
for service C
User
S
User
B
C
A
Security module
for service A
Security module
for service B
Security module
for service C
DO align ROIs with migration strategies
When justifying a move to SOA, an ROI kept in mind can be a reassuring factor, particularly when non-
service oriented investments are already in place and the organization is fairly content with them.
Usually, research performed for migration strategies is focused on technology and implementation,
rather than on high-level advantages to the organization. A smart strategy for integrating an SOA can
provide greater cost advantages than an ROI originally predicted.
Even though the initial SOA migration may be the most expensive part of an enterprise-wide initiative,
the scope of your ROI will probably extend beyond the migration phase. Frequent revisions to an ROI,
keeping in mind migration strategies, will improve the accuracy of its predictions as they relate to
subsequent phases in a long-term program.
With SOA, the gains tend to be more tangible, because the interoperability provided by the service
integration layer results in immediately recognizable savings.
DON'T perpetrate tightly coupled interfaces
The essence of SOA is in its loosely coupled, highly interoperable nature. When tightly coupled
interfaces are used, the number of users who can effectively access the service drops. Also, tightly
coupled interfaces require clients to have inside knowledge about the working of the service, which
could constitute a security risk, particularly if the clients to the service are not completely within the
scope of the service providing organization. If a set of components using tightly coupled interfaces
must be used, then it is most expedient to put a wrapper around them and use the group as a single
package instead.
For example, if a pair of modules share a communication mechanism that is unique between them and
not understandable by other modules, then instead of exposing each of these as a separate service.
Investments
Profits
SOA
Change
? ??
? ROI + SOA = $$$
The Don't’s:
DON'T completely rely on ultra new technology, which may not be fully tested
DON'T unnecessarily clone existing services
DON'T put all your eggs in one basket
DON'T lock yourself in
In addition to the fairly robust core standards forming the basis of Web Services and SOA, there is also
a family of rapidly developing new applications from a variety of vendors, ranging from well-
established corporations to fly by night outfits. While it is important to keep abreast of new technology
and build on it where feasible, one needs to be slightly wary of new technology until it has passed
rigorous testing under the scenario that it will ultimately be used in. Therefore, newer technology
should typically be incorporated in the comparatively low risk areas of the architecture
The aim of SOA is to re-use existing services that are in place. Even though it may be tempting to merely
clone and modify an existing service to create a new one, this is not a good strategy for SOA. In fact, the
problems created by cloning are some of the fundamental problems that SOA seeks to solve. Primarily,
when code is reused as opposed to functionality, bugs in the core code get replicated across the
services. Secondly, documentation for cloned services is frequently scanty, resulting in maintenance
nightmares. Thirdly, cloning leads to redundancy, which debilitates the SOAs' benefits and affects
performance. Finally, any change in the basic service would have to be copied across all the services.
All of these together make cloning a bad choice. It would be smarter and safer to isolate the
functionality that is repeated and expose it as a single service.
Despite the fact that SOA is the coming wave in enterprise interaction, it is advisable to adopt it in a
phased approach, starting with a low risk application or pilot program to determine the exact needs of
your organization and how SOA can aid your business. Once the requisite knowledge base is created,
then the architecture can be expanded to other spheres of greater importance.
When planning for an SOA, it is best to avoid proprietary mechanisms, such as message protocols and
software applications, since frequently these require clients to conform to their standards. This reduces
interoperability and causes clients to re-assess whether they can avail the service provided within their
own budgets or whether they need to move to another provider.
A B
C
X
XX
Services A, B and C replicate functionality X
C
B
A
X
Services A, B and C obtain functionality X from service X

More Related Content

More from Torry Harris Business Solutions

Outsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris WhitepaperOutsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris WhitepaperTorry Harris Business Solutions
 
SOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris WhitepaperSOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris WhitepaperTorry Harris Business Solutions
 
SOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris WhitepaperSOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris WhitepaperTorry Harris Business Solutions
 
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperComparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperTorry Harris Business Solutions
 
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris WhitepaperEucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris WhitepaperTorry Harris Business Solutions
 
BPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris WhitepaperBPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris WhitepaperTorry Harris Business Solutions
 
EAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris WhitepaperEAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris WhitepaperTorry Harris Business Solutions
 
EAI Test Driven Development WebMethods | Torry Harris Whitepaper
EAI Test Driven Development WebMethods | Torry Harris WhitepaperEAI Test Driven Development WebMethods | Torry Harris Whitepaper
EAI Test Driven Development WebMethods | Torry Harris WhitepaperTorry Harris Business Solutions
 

More from Torry Harris Business Solutions (20)

Outsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris WhitepaperOutsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris Whitepaper
 
SOA Migration Services | Torry Harris
SOA Migration Services | Torry HarrisSOA Migration Services | Torry Harris
SOA Migration Services | Torry Harris
 
SOA Roadmap and Education | Torry Harris
SOA Roadmap and Education | Torry HarrisSOA Roadmap and Education | Torry Harris
SOA Roadmap and Education | Torry Harris
 
SOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris WhitepaperSOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
 
SOA Test Methodology | Torry Harris Whitepaper
SOA Test Methodology | Torry Harris WhitepaperSOA Test Methodology | Torry Harris Whitepaper
SOA Test Methodology | Torry Harris Whitepaper
 
SOA for Retail | Torry Harris Whitepaper
SOA for Retail | Torry Harris WhitepaperSOA for Retail | Torry Harris Whitepaper
SOA for Retail | Torry Harris Whitepaper
 
SOA for Telecom | Torry Harris Whitepaper
SOA for Telecom | Torry Harris WhitepaperSOA for Telecom | Torry Harris Whitepaper
SOA for Telecom | Torry Harris Whitepaper
 
A Guide to SOA Governance | Torry Harris Whitepaper
A Guide to SOA Governance | Torry Harris WhitepaperA Guide to SOA Governance | Torry Harris Whitepaper
A Guide to SOA Governance | Torry Harris Whitepaper
 
SOA Maturity Model | Torry Harris Whitepaper
SOA Maturity Model | Torry Harris WhitepaperSOA Maturity Model | Torry Harris Whitepaper
SOA Maturity Model | Torry Harris Whitepaper
 
SOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris WhitepaperSOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris Whitepaper
 
Migration and Security in SOA | Torry Harris Whitepaper
Migration and Security in SOA | Torry Harris WhitepaperMigration and Security in SOA | Torry Harris Whitepaper
Migration and Security in SOA | Torry Harris Whitepaper
 
Web Services in SOA | Torry Harris
Web Services in SOA | Torry HarrisWeb Services in SOA | Torry Harris
Web Services in SOA | Torry Harris
 
Cloud Catalyst Programme | Torry Harris Whitepaper
Cloud Catalyst Programme | Torry Harris WhitepaperCloud Catalyst Programme | Torry Harris Whitepaper
Cloud Catalyst Programme | Torry Harris Whitepaper
 
Cloud Computing Overview | Torry Harris Whitepaper
Cloud Computing Overview | Torry Harris WhitepaperCloud Computing Overview | Torry Harris Whitepaper
Cloud Computing Overview | Torry Harris Whitepaper
 
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperComparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris Whitepaper
 
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris WhitepaperEucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
 
BPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris WhitepaperBPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris Whitepaper
 
EAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris WhitepaperEAI Performance Analysis Web-Methods | Torry Harris Whitepaper
EAI Performance Analysis Web-Methods | Torry Harris Whitepaper
 
EAI Test Driven Development WebMethods | Torry Harris Whitepaper
EAI Test Driven Development WebMethods | Torry Harris WhitepaperEAI Test Driven Development WebMethods | Torry Harris Whitepaper
EAI Test Driven Development WebMethods | Torry Harris Whitepaper
 
Web Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris WhitepaperWeb Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris Whitepaper
 

Recently uploaded

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

SOA Best Practices | Torry Harris Whitepaper

  • 2. What is SOA? SOA or “Service Oriented Architecture” has rapidly gained status as a buzzword among the IT community, particularly over the last three years. The demand for greater simplicity of reuse and maintenance of functionality has fostered the evolutionary journey from simple Object Oriented Programming, via component based software to SOA. Another reason why SOA has gained even more momentum is that network capacities have increased phenomenally, making distributed designs feasible. The dawn of platform independent languages such as XML and enterprise strategies such as Web services have also aided SOA. Web Services and XML are certainly not mandatory to achieve an SOA, but they are definitely quite useful for the purpose. However, with different vendors rolling out new strategies on the Web Services front almost on a monthly basis, it can become difficult for organizations to find guidelines to follow while the situation stabilizes. This list of basic “Do's and Don'ts” attempts to define a strategy that could help mitigate risk and maximize business value Discovery Agency Service Descriptions A B C Service Service Requestor Service ProviderInteract Client Look-up Advertise Service Oriented Architecture
  • 3. The Dos: DO follow established standards DO try and use wrappers for a set of tightly coupled components Often while developing a new design, it is tempting to tweak the established standard just a little bit to make it fit perfectly. However, with SOA, the aim is to maintain compatibility with other standards based implementations. Tampering with a standard ends up creating a proprietary implementation, which may later cause integration problems. For example, altering a SOAP message format to augment speed requirements may result in the client being unable to understand the request altogether. Such issues may also remain dormant initially, which would mean that rectifying them at a later stage would be proportionally costlier. Legacy designs frequently consist of sets of components, which are tightly coupled to each other in terms of interfacing and communication. When migrating to an SOA it is important to keep in mind that every individual component need not be exposed as a service. If exposing each component is not feasible, it is possible to use a wrapper around a set of components and expose the package as a service. However, while wrapping components, access policies and business context must be kept in mind. Randomly wrapping components and exposing them as a single service can lead to security and performance problems. Ideally the components, which are wrapped, should constitute a unit that can interact with other components independently. SOA Migration Tightly coupled components A&B migrated as different services A B BA Wrapper around A&B to migrate as a hybrid service C SOA Migration A B A B C
  • 4. DO pay heed to security Since SOA as a concept depends upon shared, re-usable services, it is mandatory to keep security in mind while incorporating it. This can be a fair sized job, since if each service is to have an authentication mechanism, it becomes tedious both in terms of development as well as usage, to manage all the credentials involved. This often leads to security being relegated to a secondary status, in favor of functionality and ease of use. A possible workaround is to have a single service act as the authenticator for all the services. This way, the authenticator service provides a sort of proxy between the client and the services providing business functionality. Also since the authentication service is an independent component, it can have stronger protection features built into it. DO ensure interoperability SOA is all about choice. Since every player in the field may have a different strategy, in order to ensure that the maximum number of consumers can access your service, it is important to design it in such a way that it can be interfaced from any platform and any programming language. Using a platform independent standard ensures that your users are free to choose their own implementation mechanisms. Apart from simply being friendly, this also means that your users will have to go to virtually no trouble at all to incorporate your service into their existing architecture, which increases the business value of your service. For example, a service based on XML and SOAP over HTTP for its communication mechanism can be accessed from a various number of platforms as opposed to one that uses COM. User has to authenticate each service User authentication for single sign on service s. Which authenticates for other services B C A Security module for service A Security module for service B Security module for service C User S User B C A Security module for service A Security module for service B Security module for service C
  • 5. DO align ROIs with migration strategies When justifying a move to SOA, an ROI kept in mind can be a reassuring factor, particularly when non- service oriented investments are already in place and the organization is fairly content with them. Usually, research performed for migration strategies is focused on technology and implementation, rather than on high-level advantages to the organization. A smart strategy for integrating an SOA can provide greater cost advantages than an ROI originally predicted. Even though the initial SOA migration may be the most expensive part of an enterprise-wide initiative, the scope of your ROI will probably extend beyond the migration phase. Frequent revisions to an ROI, keeping in mind migration strategies, will improve the accuracy of its predictions as they relate to subsequent phases in a long-term program. With SOA, the gains tend to be more tangible, because the interoperability provided by the service integration layer results in immediately recognizable savings. DON'T perpetrate tightly coupled interfaces The essence of SOA is in its loosely coupled, highly interoperable nature. When tightly coupled interfaces are used, the number of users who can effectively access the service drops. Also, tightly coupled interfaces require clients to have inside knowledge about the working of the service, which could constitute a security risk, particularly if the clients to the service are not completely within the scope of the service providing organization. If a set of components using tightly coupled interfaces must be used, then it is most expedient to put a wrapper around them and use the group as a single package instead. For example, if a pair of modules share a communication mechanism that is unique between them and not understandable by other modules, then instead of exposing each of these as a separate service. Investments Profits SOA Change ? ?? ? ROI + SOA = $$$ The Don't’s:
  • 6. DON'T completely rely on ultra new technology, which may not be fully tested DON'T unnecessarily clone existing services DON'T put all your eggs in one basket DON'T lock yourself in In addition to the fairly robust core standards forming the basis of Web Services and SOA, there is also a family of rapidly developing new applications from a variety of vendors, ranging from well- established corporations to fly by night outfits. While it is important to keep abreast of new technology and build on it where feasible, one needs to be slightly wary of new technology until it has passed rigorous testing under the scenario that it will ultimately be used in. Therefore, newer technology should typically be incorporated in the comparatively low risk areas of the architecture The aim of SOA is to re-use existing services that are in place. Even though it may be tempting to merely clone and modify an existing service to create a new one, this is not a good strategy for SOA. In fact, the problems created by cloning are some of the fundamental problems that SOA seeks to solve. Primarily, when code is reused as opposed to functionality, bugs in the core code get replicated across the services. Secondly, documentation for cloned services is frequently scanty, resulting in maintenance nightmares. Thirdly, cloning leads to redundancy, which debilitates the SOAs' benefits and affects performance. Finally, any change in the basic service would have to be copied across all the services. All of these together make cloning a bad choice. It would be smarter and safer to isolate the functionality that is repeated and expose it as a single service. Despite the fact that SOA is the coming wave in enterprise interaction, it is advisable to adopt it in a phased approach, starting with a low risk application or pilot program to determine the exact needs of your organization and how SOA can aid your business. Once the requisite knowledge base is created, then the architecture can be expanded to other spheres of greater importance. When planning for an SOA, it is best to avoid proprietary mechanisms, such as message protocols and software applications, since frequently these require clients to conform to their standards. This reduces interoperability and causes clients to re-assess whether they can avail the service provided within their own budgets or whether they need to move to another provider. A B C X XX Services A, B and C replicate functionality X C B A X Services A, B and C obtain functionality X from service X