Still I am undergraduate. So I learn lot about Service oriented architecture these days. I found this research paper with really interesting points about SOA. This will be great article for beginner fro SOA in enterprise.The original paper is Business
Transformation to SOA: Aspects of the Migration and Performance and QoS Issues by Liam
O’Brien, Paul Brebner, Jon Gray
In the present world Service
Oriented architecture is really important factor to have a successful
business. SOA is a great tool for solve the problems of meet new
customer demands with fewer resources and streamlining of its business
activities. SOA is better because of it’s their promise of
cost-efficiency, agility, adaptability and legacy leverage. But to have
that success there are so many difficulties. Also there are lot of
things have to be considered before moving in to SOA. So in this paper
writers discuss about those aspects.
So most
of the current organizations transform their business process and IT
business systems to SOA because of the arising new challenges and have
to respond to customer demands. Organizations do rationalization
programs to determine what strategies they will pursue in the future,
what business processes will support those strategies and determine what
IT systems are needed to move in to SOA.
Also organizations have to think
lot about one major thing before moving in to SOA that is systems should
be whether or not those systems can meet Quality of Service (QoS)
requirements. Because SOA can have a positive impact on some quality
attributes and a negative impact on others. Some these attributes are
security, performance, availability and interoperability of their
SOA-based systems.
There are list of things should be considers
- What are the existing/legacy systems which should be included in the SOA architecture?
- The acquisition and development of an SOA Infrastructure.
- The development of services and development of applications from services.
Identification and Mining of Services
Organizations have to think about,
what are the components which can be migrated from exiting system to
SOA based system. Because they have already invested money in those
components. To do that,
- Organizations have to develop an overall Enterprise Architecture, to identify required business processes and identifying services that are needed. Also they can examine each of its existing systems, identify common processes/functions and identify services from these. Then they can identify what services are to be used within its SOA. This is a really critical task.
- Determine what legacy/existing components can satisfy the service needs, determine what needs to be done with those components and migrate and reuse them as services. Doing this organization can understand what will be the costs attached to them.
Integration of Services
If an organization moved to SOA
they will use services either internal or external, so those services
have to be integrated in to existing systems of the organization. They
have to determine what systems the services will integrate with, the
scope of the work involved and estimate the cost and effort of doing the
work.
Also organizations have to determine what the impact of different architecture alternatives will
be on various quality attributes
and QoS concerns for the system. An organization can choose a particular
architecture alternative based on their specific requirements. A main
issue in integration of services is how so size integration effort and
what are the various parts that make up the cost.
Development of an SOA Infrastructure
To implement SOA, organization
should have to have infrastructure which includes security, governance,
management, orchestration and resourcing attributes. Bad infrastructure
components, insufficient validation implementation and less security,
management and troubleshooting will cause all the SOA architecture in to
trouble.
There are so many vendors like
IBM, Microsoft, SAP, Oracle, BEA, and many others which provide SOA
infrastructure technology. Organizations have to think about plan what
they will purchase and what are they going to build them self’s. But if
infrastructure is built within the organization they have to think
about, how des an organization test the infrastructure sufficiently to
guarantee the level of security, governance and management provided
meets their requirements? Any way organizations have to think about
interoperability between different vendor infrastructures.
Service Development and Application Development from Services
When an organization moves in to
SOA they have to use their own service and service from other
organizations. When dealing with the development of services and
applications from services one of the main concerns is dealing with the
quality of service of the services and the quality of service of the
application. Organizations have to have list of quality attributes they
need and they have to follow a development process which guarantee
acquiring those attributes.
If external services are used in
the development of an application then service level agreements with the
service providers will have to be negotiated and be in place in order
to make any guarantees about the QoS level of the application.
There can be also a scenario,
application chooses service dynamically. Then we can have QoS
guaranteed. Because we can’t test those dynamic services.
At last one important thing, organizations have to identify the cost and effort needs to develop its service.
SOA Governance
SOA governance is another important thing in the planning process. These factors will be considered to have stable governance,
- Strategy and Goals – what is governed and why?
- Funding, Ownership and Approvals – who owns what?
- What gets funded and by whom?
- Organization – what structures, processes and governance mechanisms are in place?
- Processes – what are the roles, responsibilities and procedures for managing SOA activities?
- Policies – what is the enforcement issues including standards, security, release and re-use?
- Metrics – what are the business outcomes and how are they measured and by what metrics?
- Behavior – what is the behavioral model, incentives, penalties and rewards for appropriate “SOA Behavior”?
PERFORMANCE AND QOS
Performance is a major concern
while architecting and developing SOA for both services and
applications. Because for an example if take response time as
performance measure of web services, it is typically worse than the bare
underlying functionality. This is due to and compounded by the
overheads of XML, use of composite, service orchestration
(infrastructure and protocols), service invocation, resources and
resource models.
Because of those reasons most of
the time consumer’s expectations of performance may be higher than what
can actually be delivered. So it is really important to architect SOAs
with performance in mind. To do this it is necessary to be able to
understand the performance To do it architects have to think about these
thing in depth, Service Orchestration, Virtualization and Service Level
Agreements between service users and consumers.
Also this area is highly
developing are in the present world. Most of the people are working to
develop SOA with good quality attributes.
Revived by Andun S.L. Gunawardana –andunslg@gamil.com