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.