Basics of SOA

[slideshare id=5424123&doc=basicsofsoa-101012091122-phpapp02]

Stay up to date and collect Knowledge

Now its more easier for you to stay in touch with what’s happening on this blogs as well as in other related technologies. I have a special account set up to serve all of you with updates from the blogs, IBM support, best and interesting articles from internet and this is named ‘Joseph’s WebSphere & SOA Library’. The following are the ways to subscribe to them.

Twitter: http://twitter.com/NodeAgent

FaceBook: http://facebook.com/NodeAgent

YouTube: http://youtube.com/NodeAgent

Digg: http://digg.com/NodeAgent

Friendfeed: http://friendfeed.com/NodeAgent

Delicious: http://delicious.com/NodeAgent

SlideShare: http://slideshare.net/NodeAgent

Email: If you like to get updates on your email, use the subscription option available on the blogs.

Let me know your suggestions and comments.

Motivation factors for Using SOA (part-2) - Cost Saving

In the first part of the SOA motivation factors, we discussed how Agility can bring effectively increase an organization's profit and savings. In this article let us see how SOA will do the savings for an organization.

Motivation factors for Using SOA - Cost Saving

Earlier on this blog, we discussed the key concepts of the SOA as Services, interoperability and loose coupling. These are the factors that do the cost saving and a motivation factor for using SOA in an organization. These cost cuttings/savings will be at both Business level and IT infrastructure and maintenance level. At business level the cost savings will come from the Agility.

Many times even though a product is cheaper we will go for it as it was difficult to integrate into our existing system. SOA solves this problem since it is loosely coupled and interoperability. This it allows you to choose the cheapest product that can offer the same kind of functionality and stability.

Then as we have seen the Agility of the SOA will make you streamline the Business process. Which means, now your business process support ever changing market and demand. Also one of the key SOA concepts Service, will enable you to reuse any component with in your SOA setup. Together these enables an organizations to use its internal resources more effectively. Hence the cost requited to adopt to a new change or rapid change in the business are less compared to the traditional approach.

Another factor that helps organizations while using SOA is, Reporting. Using this reporting you can the dynamic reports from any where in you SOA setup. Say for example, we are monitoring a business process and getting the reports on a daily basis from this SOA reporting functionality, If there any is any change is required to improve the business functionality of that business process.. we can take decision after seeing the daily reports. Thus you don’t need to wait for your quarterly results and annual sheets to check how well your business process is performing.

In summery: due to improved business Agility, it is possible to improve the revenue by adopting quickly to new business models and by offering innovative/timely products for the end user.

The above are only some of the ways of how SOA can reduce the costs with in my understanding as an IT engineer. From a core business view, you may found more ways to reduce the cost after implementing SOA. If you have a new point to add to this..please leave in comments section of this post.

Its not just the cost savings from Business level but SOA can also reduce the costs at IT infrastructure level.

One of the biggest problems with the large IT projects is the cost required to build and maintain them. SOA''s concept of service means you can reuse it and can call it from anywhere and use it. This is one of the key factor in reducing the cost of getting a IT project up and running. For example, when you want to build a new application which needs a functionality that is already existing in your IT environment, you can use it again by exposing it as a service.

Another concept of SOA is interoperability, which makes the integration easy. This means the cost required to integrate a new product or existing legacy applications is less. As a whole, a new business process can be developed easily or the existing can be modified easily with out putting more money and efforts on to how they will be implemented.

By isolating the implementation aspects from the services, SOA enables the usage of existing legacy systems. By enabling a pool of shared services, SOA enables reuse of them at various levels. This eliminates the re-occurring costs in IT systems management. It also reduces the duplication of code, applications, storage for the same functionality and hence reduces the maintenance cost.

Summery:

    • Reduces Total cost of Ownership[TCO] and increase Return Of Investment [ROI] on evolving systems.
    • Add value to core investments by leveraging existing legacy assets/systems into SOA.
    • New systems can be built faster for less money because existing services can be more easily reused.
    • Built for flexibility hence enables plugging new services when required, which reduces the time to deliver the new functionality.
    • Long term value of interoperability, your SOA infrastructure will be ready for future.

Motivation factors for using SOA (part-1) - AGILITY

Agility, on an organizational level, refers to efficiency with which an organization can respond to change. Increasing organizational agility is very attractive to corporations, especially those in the private sector. Being able to more quickly adapt to industry changes and outmaneuver competitors has tremendous strategic significance.

Before understanding how SOA can bring the agility to your organization, you need to get an idea of where the present complexity is and how it is effecting the agility in your organization. Some of the factors that effects agility are:

1. Technology :

We generally spend months and years to get our IT systems stabilized. We bring in a lot of software and different versions of them into out network. Sometimes for every new functionality we need, we may have to get a new software product. In the end we may face a situation where in it is difficult to find the skilled people to work on those systems. Hence the technology we use to implement our business is complex.

2. Business Process:

If you have a complex business system, obviously the implementation is complex. Many times we realize this complexity only when we started to implement it. Business functionality also contains conflicting elements due to different perspectives or applications.

3. Integration

We tend to use and combine functionality from existing systems/applications. Even if our individual systems/applications are working good, when we integrate them is a complex work and surely we get many issues.

4. Maintenance

After we go past the technology. business and integration complexities, we need a way to manage this complex environment. Updating the components we used to implement out business logic and adding new functionality is always a tedious task.

SOA can help addressing all these issues of complexity. SOA is more agile in order to react as quickly as possible to changing business environments and offer new services to customers, suppliers and partners.

    • SOA can be understood without any knowledge technology used to implement it.
    • SOA decomposes large systems into services and application frontends.
    • The granularity of the service is well suited to gain a high level understanding of the entire system.
    • SOA encourages the reuse which streamlines the code and reduce redundancies.
    • in SOA every service is documented, which add the comprehensibility of SOA

Joseph Amrith Raj's Twitter account

Hi Guys,

Now you can follow me all updates on Twitter ... for all SOA and Websphere stuff


IBM Certified SOA Associate

This is the basic SOA certification from IBM. It was introduced in 2008 and test code is 000-669.

Must read:This is not a kind of certification which you can just read and write. The main objective of this test is to test how much of understanding you have on SOA and its importance to business. your practical experience matters a lot.
Also, you need to have solid understanding of Enterprise Application integration (EAI), Enterprise Service Bus (ESB), Service Oriented Architecture (SOA) key concepts and how they are implemented.
Details
  • Test Code: 000-669
  • Number of questions: 54
  • Time allowed in minutes: 90
  • Required passing score: 67%
Objectives:
Section 1 - The Value of SOA (15%)
  1. Identify business functions where SOA can improve competitiveness and productivity.
  2. Identify how SOA can provide return on investment (ROI) (improve competitiveness, reduce costs, increase responsiveness.)
  3. Identify the SOA features that make businesses more agile.
  4. Identify the opportunity costs of not adopting SOA.
  5. Identify situations where SOA does not provide the desired value or is not appropriate.
  6. Identify the business drivers for SOA.
Section 2 - SOA Concepts (26%)
  1. Define the concept of a service in SOA.
  2. Describe the architectural concepts used in SOA (for example: loose coupling and separation of concerns.)
  3. Describe the roles that XML plays in SOA.
  4. Describe the role of a service registry and/or repository in SOA.
  5. Explain what a business process is in the context of SOA (including business process management and automation) and how it facilitates business flexibility.
  6. Determine the role that technology standards (SOAP, WSDL, WS-Security, BPEL, WS-I, ) play in SOA.
  7. Describe the role that Web 2.0 and its related technologies play in SOA (for example: REST and AJAX.)
  8. Describe the importance of goals, KPIs, and measurement to business success with SOA.
Section 3 - Basic SOA Architecture (20%)
  1. Describe the characteristics of a basic SOA architecture.
  2. Describe the elements of the IBM SOA Reference Architecture, and their roles and relationships.
  3. Describe the enterprise service bus (ESB) and its role in SOA.
  4. Describe the role of Web services and messaging in building an SOA.
  5. Describe orchestration of business processes using services and human interactions.
  6. Describe the stages of the SOA lifecycle (model, assemble, deploy, manage.)
Section 4 - SOA Management (19%)
  1. Explain the need for SOA governance.
  2. Describe SOA governance and related concepts (roles and responsibilities, funding models, policies, enforcement, critical success factors, and metrics.)
  3. Describe Quality of Service (QoS) issues pertinent to SOA.
  4. Explain the need for a distributed security model (including issues like identify provisioning and propagation.)
  5. Identify the impact of changes to services in the SOA lifecycle (change management, versioning, and service lifecycle.)
  6. Identify the role of an enterprise service bus (ESB) in SOA management and governance.
  7. Identify service management issues.
Section 5 - Preparing for SOA (20%)
  1. Describe the elements of SOA governance that need to be addressed during the preparation for SOA.
  2. Understand the importance of documenting business issues, drivers and goals when preparing for SOA.
  3. Capture and assess IT issues, drivers, and goals (including metrics and KPIs.)
  4. Describe the people, organizational, and technology factors that impact readiness for SOA and its success.
  5. Describe the steps for SOA adoption (including adoption roadmaps and maturity assessments.)
  6. Identify barriers to SOA adoption.
  7. Describe points of entry into SOA.
  8. Describe the importance of securing executive sponsorship and solving funding issues for SOA adoption.
Test Preparation:
Plenty to read for this certification. We have redbooks, some developerworks articles and few retail books.
Must read:

1. IBM SOA white paper
http://www.ibm.com/developerworks/webservices/library/ws-soa-whitepaper/
2. SOA terminology
http://www.ibm.com/developerworks/webservices/library/ws-soa-term1/
3. ESB
 http://www.ibm.com/developerworks/library/ar-esbpat2/
4. Service Repositories in SOA
http://www.ibm.com/developerworks/library/ar-servrepos/
5. SOA for Dummies book
6. BPM Concepts
http://www.ibm.com/developerworks/library/ar-bpm1/
7. SOA in action
http://www.ibm.com/developerworks/webservices/library/ws-soa-in-action/
Recommended Reading:

1. http://www.ibm.com/developerworks/webservices/library/ws-soa-govframe/
2. http://www.ibm.com/developerworks/webservices/newto/index.html
3.http://www.ibm.com/developerworks/websphere/library/techarticles/0801_olson/0801_olson.html
4.http://www.ibm.com/developerworks/websphere/techjournal/0806_radcliffe/0806_radcliffe.html
5. http://www.ibm.com/developerworks/webservices/library/ws-soa-practical/
6. http://www-128.ibm.com/developerworks/webservices/library/ws-soa-govern/
7. http://java.sun.com/developer/technicalArticles/WebServices/soa2/

Advantages of SOA

See what can SOA adds to your IT infrastructure and Organization.

Cloud Computing basics

What is Cloud computing?
Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction
What are the advantages?

  • On-demand self-service

  • Ubiquitous network access.

  • Location-independent resource pooling

  • Rapid elasticity

  • Pay per use
Example:
Electricity is a service provided by someone to you. you can take the service and pay as you use it. for example, in summer since we user AC, cooler and others the usage will be high and we pay extra amount for that usage. In winter, the usage will be less and we pay less bill. So this is not a fixed plan, its dynamic.
Similarly in Cloud computing, you’ll get the needed resources dynamically and you pay for only what you use.
Related to SOA?
§Cloud computing is really SOA that uses Internet-based resources, including services, applications, directories, tools, and so on
§If you want to provide real value to your enterprise, SOA should extend out of the firewall and onto cloud computing platforms.
§It is not a replacement for SOA or traditional enterprise architecture, but it is an approach to architecture in which there is a core acceptance that Internet-based resources may provide the fastest delivery, the largest number of resources, and a minimum cost.

SOA Foundation - IT Service Management

Once your application has been deployed to the information system it needs to be managed along with the IT infrastructure on which it is hosted.

IT service management represents the set of management tools used to monitor your service flows, the health of the underlying system, the utilization of resources, the identification of outages and bottlenecks, the attainment of service goals, the enforcement of administrative policies, and recovery from failures.

We can capture the business design as a model, and use that to assemble the application services that implement that design, we can capture a correlation between the business and the IT system.

This correlation in deployment environment can be used by IT service management services to help prioritize the resolution of problems that surface in the information system, or to direct the allocation of execution capacity to different parts of the system based on service-level goals that have been set against the business design.

IBM Products: Websphere business Monitor and ITCAM

SOA Foundation - Business Innovation and Optimization Services

These services primarily represent the tools and the metadata structures for encoding your business design, including your business policies and objectives.

Business innovation and optimization is achieved by capturing your business design and then introspecting on that design to improve it through a combination of iterative refinement and analysis of real-time business metrics.

Business innovation and optimization services exist in the architecture to help you capture, encode, analyze and iteratively refine your business design.

The services include tools to help you simulate your business design and to use those results to predict the effect that design, or changes to that design, will have on your business. Also include tools to help you define your key performance indicators, that you want to monitor.

IBM products: Websphere Business Modeler and Business Monitor

SOA Foundation – Enterprise service bus (ESB)

  • Enterprise service bus (ESB) provides fundamental services for complex architectures via an event-driven and standards-based messaging-engine.
  • ESB provides an abstraction layer on top of an implementation of an enterprise messaging system, which allows integration architects to exploit the value of messaging without writing code.
  • Its presence in the architecture is transparent to the services of your SOA application.

The presence of an ESB simplifies the task of invoking services – making the use of services wherever they are needed, independent of the details of locating those services and transporting service requests across the network to invoke those services wherever they reside within your enterprise.

In simple words:
  • ESB is the heart of SOA infrastructure.
  • Through ESB all the services will interact with each others.
  • ESB/Broker is capable of understanding the content of each message that it moves through the Broker.
  • Customers can define the set of operations on each message depending on its content.
Message Broker can do the following:
–Matches and routes communications between services
–Converts between different transport protocols
–Transforms message formats between requestor and service
–Identifies and distributes business events from disparate sources

SOA Foundation - Partner services

  • Partner services capture the semantics of partner interoperability that have a direct representation in the business design.
  • For example, include the policies and constraints that other businesses must conform to work with your business – including business requirements such as the need to conform to specific industry message and interchange standards like EDIFACT, SWIFT, RosettaNet, etc.
  • It can involve the business logic of managing how partners are selected, and which ones are used as a preference over others in particular circumstances.
In simple words,:
◦partner services will project a view of your business to your partners, and controlling the interaction with them as an external entity.
◦Partner services will render the capabilities of that partner as a service so that those functions can be composed into your business processes like any other service.
IBM Offering: Websphere partner Gateway

SOA Foundation - Access Services

  • Access services are dedicated to integrating legacy applications and functions into the service-oriented architecture.  This includes simple wrapping of those functions and rendering them as services, or in more complex cases augmenting the logic of the existing function to better meet the needs of the business design.
  • In some cases these are referred as Adapters
  • In the SOA Foundation architecture, access services are distinctly responsible for rendering these adapters as services so that they can be manipulated and composed within business processes like any other service component.
IBM Offerings: Websphere MQ and Adapters

SOA Foundation – Information services

Information services contain the data logic of your business design. Information services provide access to the persistent data of your business.

 

For example: query statements for retrieving the information you care about or referential integrity checks on the information manipulated by these services.

 

These data services are available to the business application as services. Information services at this level incorporates the idea of federating multiple data sources – projecting logical views over those multiple sources to render a simpler access pattern for the service composition that needs it. This is intended to handle two important requirements within the information management space – data composition, and data flow.

 

IBM offering for this layer : Websphere Information server

SOA foundation – Process Services

These services presents course grain business services that encapsulates and abstracts the complexities of the technical implementation underneath. Business processes are created, maintained and executed here. process services are likely to be made up of many different products.
One example of  the products involved in this service layer is Websphere process server. Websphere process will host the business process developed. Once deployed we can start/stop/manage the business process. One example is Loan Application.
image

The important terms you hear in this services are business process flows and business state machines.
A business process is the flow or progression of activities, each of which represents the work of a person, an internal system, or the process of a partner company toward some business goal.
A state machine is an event driven business application in which external operations trigger changes that guide the state machine from one discrete mode to another. Each mode is an individual state, and this mode determines what activities and operations can occur

We will discuss Process server indetail after we finish the SOA Foundation explanation.

SOA Foundation – Integration Services

Interaction services are about the presentation logic of the business design.

 

These are components that support the interaction between applications and end-users. Also we recognize that interactions with the external world are not limited to just interactions with humans.

 

Interaction services provides the ability to project a view of the information system tailored to the specific interaction fidelity, frequency of interaction, and presentation composition that best fits the needs of the end user or device.

 

Interactions may be tailored to role-sensitive contexts – adjusting what is seen and the behavior presented to the external world based on who the user is, what role they are performing, and where they are in the world.

 

Example product: WebSphere Portal

SOA building blocks or Concepts

Services:


  • A “Service” is a self-contained, stateless business function that accepts one or more requests and returns one or more responses through a well-defined, standard interface.

  • Services can also perform discrete units of work such as editing and processing a transaction.

  • Services should not depend on the state of other functions or processes.

  • The primary goal of a service is to represent a “natural” step of business functionality.

Interoperability:


  • With heterogeneous systems, the first goal is to be able to connect those systems easily. This is usually called “high interoperability.

  • For SOA, high interoperability is the beginning. It is the base from which we start to implement business functionality (services) that is spread over multiple distributed systems.

  • Services can be called from any other systems, they are inherently interoperable

  • So basically the service (business functionality) is a reusable component.


Loose coupling:


  • Loose coupling is the concept of reducing system dependencies.

  • Business processes are distributed over multiple back-end, it is important to minimize the effects of modifications and failures.

  • Loose coupling offers:
         –Flexibility
         –Scalability
         –Fault tolerance

IBM SOA Reference Architecture

 
I'll explain one-by-one what each service/block in the above diagram does in the next posts

SOA Lifecycle – Manage stage

This is the last phase in the SOA lifecycle. In this stage, we concentrate on how to manage the infrastructure, which we’ve developed and deployed using the first 3 phases of the lifecycle.

This main tasks/responsibilities in this stage includes monitoring performance of service requests and timeliness of service responses; maintaining problem logs to detect failures in various system components; detecting and localizing those failures; routing work around them; recovering work affected by those failures; correcting problems; and restoring the operational state of the system. Managing the system also involves performing routine maintenance, administering and securing applications, resources and users, and predicting future capacity growth to ensure that resources are available when the demands of the business call for it.

The manage phase also includes managing the business model – tuning the operational environment to meet the business objectives expressed in the business design, and measuring success or failure to meet those objectives.

The product that we use in this phase is “WebSphere Business Monitor” and “ITCAM for SOA

SOA Lifecycle – Deploy Stage

In this phase of the SOA life cycle, you deploy the composite applications which were developed in the earlier stage.

 

The deploy phase of the lifecycle includes a combination of creating the hosting environment for your applications and the actual deployment of those applications. This includes resolving the application’s resource dependencies, operational conditions, capacity requirements, and integrity and access constraints.

 

In this phase, we need address lot of decisions like, the presence of the already existing hosting infrastructure supporting legacy applications and pre-existing services. Also you need to consider appropriate platform offerings for hosting your user interaction logic, business process flows, business-services, access services, and information logic. Beyond these, we need to consider the techniques you will employ for ensuring availability, reliability, integrity, efficiency, and service ability.

 

The product that will be used here is ‘WebSphere process server’ . I’m going to concentrate on process server here on the blog after finishing the basics of SOA.

SOA foundation – Different roles

The Business Analyst is responsible for knowing the business processes contained in the business design and capturing them in a
model that can be used by the rest of the development team. Ideally, the model is in a form which can be used also to automate those processes in the information system. Generally this is done using modeling tools.  The business analyst is a member of the development team, participating throughout the development cycle to refine and optimize the business design and establish its key performance indicators. The analyst later uses that information to refine the business design or drive changes in its implementation, and ultimately to verify that the IT realization faithfully implements the business design.

The Integration Specialist is responsible for integrating existing and new services, and end-users into the business process definition . The specialist will typically use visual composition tools and service-bus configuration tools to connect/integrate abstract service components that comprise the business processes. The integration specialist, along with the enterprise architect, will also be involved in establishing an approach to satisfying the security and Quality of Service requirements of the enterprise when composing services from business partners and other service providers outside of the enterprise’ operational environment.

The Software Architect is responsible for translating the business design into a set of software component design specifications for
implementing the service definitions and business objects called for in that design. This may go beyond just defining the services in the business – it may go as far as designing the internal workings and structure of the actual service components. Building the software architecture will also include making decisions about the appropriateness of legacy function to that design, and determining how to wrapper, extend or re-factor that legacy function to best fit the design.

The Application Developer is responsible for implementing the design for service provided by the software architect. This includes using an appropriate language and technology in which to implement the services, and following the design for those components to the extent those details are provided by the software architect.

The Enterprise Developer is a specialist in legacy application functions, languages and technologies. The developer is responsible for assisting the software architect to identify potential re-use of these functions, and in helping determine how best to extend or re-factor those functions to enable a better fit with the business design.

Finally Enterprise Architect is the person responsible for ensuring consistency across each role’s tasks, in a manner that balances the creation of a set of implementation artifacts representing the business design against the constraints, preferences, and legacy capabilities of the operational environment.

Apart from the above mentioned important or high-level roles, we do have the normal roles like DB administrator, System Administrator, Support team etc, which you see in regular operations of execution of any project.

SOA Life Cycle – Assemble stage


In the previous post, we saw the first stage of the SOA lifecycle where we discussed the Modeling stage.
Once you model your business requirement, you can work with IT department to assemble the artifacts which will implement the business logic modeled by you in the previous stage. 

The enterprise architect working with the business analyst can begin to convert the business design into a set of business process definitions and activities deriving the required services from the activity definitions. They can work with the software architect to flesh out the design of the services.

During the process of resolving a design and implementation of your modeled business processes and services, you should search your existing asset inventories – your legacy programs – to find application components that already meet your needs. Some application components will fit perfectly; some will have to be re-factored; and some will have to be augmented to meet the requirements of the design. These existing assets should be rendered as services for assembly into composite applications.

Any new services required by the business design will have to be created. Software developers should use the SOA programming model to create these new services. Final assembly includes applying the set of policies and conditions to control how your  applications operate in your production environment.

You can import business process modeling projects from WebSphere Business Modeler to Rational Software Architect and transform those business models into UML models, which can be used as starting points for architecting software services. IBM Rational Software Architect then supports the transformation of UML models into service artifacts such as Web Services Description Language (WSDL) documents, XML Schema Definition (XSD) files, and Service Component Definition Language (SCDL) artifacts, which can then be imported into IBM WebSphere Integration Developer for further development, testing, and deployment.
Check this post to know more about the roles like business analyst, software architect etc in SOA foundation.

SOA Life cycle – Model Stage


Modeling is the process of capturing your business design from an understanding of business requirements and objectives and translating that into a specification of business processes, goals and assumptions – creating an encoded model of your business. As we indicated above, many businesses do not go through a formal modeling exercise. 
Capturing your business design using a rigorous approach offers the potential to gain better insight into your business, For example we can use the model to simulate how your business processes will actually run. A well made model will lets you perform ‘what-if’ scenarios that reflect your understanding of the actual number of process instances, contacts, quantities, incoming traffic, etc. that you may experience in your business. The process can then be simulated using those parameters to predict the effect that process will have on your business and on your IT systems. If you don’t achieve the results you expected then you can change your process definition to try to improve your results. You can go on to refine your processes to optimize your business performance even before ever investing in an implementation of those processes.

Your model can also capture key performance indicators like business metrics that are important measurements of your business. These key performance indicators are input to the assembly of your application and later, when the application is in production, collected and reported back to you. You will be able to use that information to determine how well your business is performing. You can use the correlation between your business design in your actual implementation in the information system to determine whether bottlenecks in your performance are due to limitations in your business design or limitations in the information system that automates your design. 
Roles performed in this stage:

Business Analysts
Uses WebSphere business Modeler product
• Analyze business requirements
• Model business processes

IT Analysts/Software Architect
Uses Rational Software Architect product
• Transform business models to service models
• Design service models
• Transform service models to service artifacts

Integration Specialist
Uses WebSphere Integration Developer product
• Develop service integration solutions for SOA
The business analyst will provide business models to IT Analyst in turn IT analyst will provide Service Artifacts to Integration Specialist.

Service Oriented Architecture - SOA, What is it?

Oh!! you didn’t heard of it, yet ? This is a very popular dog a few years ago, which had bitten almost every IT professional and company. :-) . Now there was a new one with name Cloud Computing doing the same thing :-D
OK. When you say SOA, now a days few people say, its a failure. Is really so? I don’t think so, in fact, its a building block for the future technologies
Now, lets back to the actual topic
Service Oriented Architecture – lets divide this into 3 parts.

  • Service
    what is a service? A service is representation of a repetitive task. So, it means, your applications will be converted to a service. As you know, services can be invoked by another service or client applications.
  • Service Oriented
    Service orientation means, a method of integrating different applications and process. So here, different applications which you exposed as services will be linked.
  • Architecture
    SOA is an architecture that supports service orientation.
In definition, A Service Oriented Architecture is an architecture style for creating an IT architecture that exploits the principles of service orientation to achieve a tighter relationship between business and the information systems that supports business.
Here comes a new term called Composite Application. It is a set of related and integrated services that support a business process built on an SOA
SOA life cycle
SOA life cycle composed of 4 stages
image
  • ModelHere, business requirements are translated into a specification of business processes for creating a model of the business.The IBM product for this phase is, WebSphere Business Modeler and IBM rational software architect.
  • Assemble
    This involves translating the design defined in the business model into a composite application implementing the defined processes. In this phase, service are created and linked together.
    The IBM product for this phase is, WebSphere Integration Developer
  • Deploy
    In this stage, SOA is configured to meet the specific needs of the business and then composite application developed above are deployed.
    The IBM product for this phase is, WebSphere Process Server WebSphere Portal
  • Manage
    This involves establishing and maintaining service availability and response times as well as managing the underlying service assets of SOA.
    The IBM product for this phase is, WebSphere Business Monitor, ITCAM.
Now, refer to the previous SOA post and see where and how these components will be used in SOA implementation.