soa facts&actions

55
SERVICE ORIENTED ARCHITECTURE FACTS & ACTIONS What is and how to get there

Upload: jose-luiz-berg

Post on 13-Apr-2017

615 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: SOA Facts&Actions

SERVICE ORIENTED ARCHITECTUREFACTS & ACTIONSWhat is and how to get there

Page 2: SOA Facts&Actions

Personal Facts Hi, my name is Jose Luiz Berg. I am a systems consultant, with over

25 years of experience in systems development in most commercial programming languages and frameworks, from COBOL to Java/Eclipse – C#/.NET.

In last 8 years, I’ve been working in bigger telecommunication providers in Brazil, and on last 3 years, I have been in charge of preparing my company for adopting the SOA paradigm.

This document was built to share my experience and thoughts about this matter. This absolutely does not pretend to be a guide, a hand book, or any other similar. I truly believe that SOA is an incipient technology, so anyone who argues to know everything about that in reality does not know anything. Please take this has it is, and if you find something you do not agree, just let me know so we can discuss in detail and help each other to better understand the problem.

Page 3: SOA Facts&Actions

Presentation Facts I presented this to some friends, and they told me is good, but very

academic. So I asked how? I am a C++ programmer. I came up from “factory floor”, the kind of guy how put the laptop in it’s legs and fix the system in the fly!

The only answer I found was my experience: in my professional life, many times I had to develop a system without having any specification, documentation or standards, and not following engineering best practices. When the time is up, you receive the order to cut everything and do it anyway, and the quality is not a concern anymore. This is not good if you are developing a web site, but if you are working in systems integration, or building a service to be used in tenths of business processes, this is catastrophic.

This is a big difference between hardware and software: if you build a hardware product out of the engineering standards, it will cost a lot to fix, so they follow the standards. This small difference was one of the reasons why the hardware had increased their quality a lot more than software on last decades.

I believe now is time to change the game. Time to pay more attention to academic concepts, and do it how was suppose to be done, and not how the timeframe allowed us to do. Well, let’s see it…

Page 4: SOA Facts&Actions

ServiceOrientedArchitecture

Atomic business functionality provided for a set of clients, regulated by a defined contract, and executed has a discrete operation

A set of principles, standards and orientations accomplishing the business view and possible technical implementation alternatives A brand “old” world

SOA ≠ WebServices

SOA. What is this?

Page 5: SOA Facts&Actions

ServiceOrientedArchitecture

Atomic business functionality provided for a set of clients, regulated by a defined contract, and executed has a discrete operation

A set of principles, standards and orientations accomplishing the business view and possible technical implementation alternatives A brand “old” world

SOA ≠ WebServices

So you must have a set of principles, standards and orientations to identify, define and implement business services which will be used by a defined group of clients.These services must be constructed using the concept of black-box, hiding it’s internal complexity from clients, and must perform discrete operations.Clients may be another division in the company, business partners, customers or any other stakeholder.

SOA. What is this?

Page 6: SOA Facts&Actions

ServiceOrientedArchitecture

Atomic business functionality provided for a set of clients, regulated by a defined contract, and executed has a discrete operation

A set of principles, standards and orientations accomplishing the business view and possible technical implementation alternatives A brand “old” world

SOA ≠ WebServices

SOA. What is this?There is something amazing here: we doesn’t mention any technology to define a service!

In fact, the most common think in you life is consuming services. You apply to a contract to be able to execute a business action and receive something has result. When you go to a self service restaurant you have an established contract:• You pay for the food;• You may put a limited quantity of items in your plate. This food

is expected to be ready cooked, have a good taste, and you don’t care who is the cooker or how the food was prepared;

• You may seat in a table (if available, of course!);• After some time, is expected that you leave your table to

another person;• After all, (perhaps) you are not hungry anymore!

Company services are not different. Does not matter if the services are implemented in a computer or represents a human interaction. They are all services.

Page 7: SOA Facts&Actions

ServiceOrientedArchitecture

Atomic business functionality provided for a set of clients, regulated by a defined contract, and executed has a discrete operation

A set of principles, standards and orientations accomplishing the business view and possible technical implementation alternatives A brand “old” world

SOA ≠ WebServices

A brand OLD world?But let’s return from lunch and come back to IT. What SOA says: the company is going to provide services for stakeholders, and IT must implement and support these services, according to the business specifications.Is it really new? If we replace the word “services” by “systems”, you can see any difference from what you do now? So what changes? Sometime in the past we stopped to take care of business needs. We are very efficient if the database goes down, but we usually don’t care if the information we provide is matching the business needs. Is usual to heard from integration team: “We are only the pipe. We don’t care about what is inside”.Someone else had to create new standards to make us to do the job we where supposed to be doing all the time!

SOA. What is this?

Page 8: SOA Facts&Actions

ServiceOrientedArchitecture

Atomic business functionality provided for a set of clients, regulated by a defined contract, and executed has a discrete operation

A set of principles, standards and orientations accomplishing the business view and possible technical implementation alternatives A brand “old” world

SOA ≠ WebServices

SOA ≠ WebServices

Implementing the SOA paradigm means a big change in the way a company understands itself. This is over the IT domain, and cannot be accomplished just changing you communication standards to use WebServices, EJBs, RMI, or any other remoting technology.According to Gartner, extensively using WebServices denotes a WebServices-centric architecture, and may not have anything related to SOA.Being SOA implies becoming a SOE (Service Oriented Enterprise). We are going to see this new concept ahead.

SOA. What is this?

Page 9: SOA Facts&Actions

Is a new vision of the company about itself, using the perspective of the clients, suppliers and partners

Service Oriented Enterprise

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

Global BenefitsAlignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

What changes in the company?

Page 10: SOA Facts&Actions

Is a new vision of the company about itself, using the perspective of the clients, suppliers and partners

Service Oriented Enterprise

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

Global BenefitsAlignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

Service Oriented Enterprise

Well, here we go. This means a company where each one of their departments sees itself has service providers, according to the rules we already seen. Not only the services provided for customers (stakeholders who buy your products), but all services in all departments. This is an operational philosophy, and must be enforced in all interactions, and not only in computer systems.

This is a very important decision, and must be taken by senior management. For some companies, will be natural, for others will be a very big change.

If and after this decision is taken, must be published and enforced to all departments, and a lot of actions must be taken to be sure they understand and follow this new philosophy.

What changes in the company?

Page 11: SOA Facts&Actions

Is a new vision of the company about itself, using the perspective of the clients, suppliers and partners

Service Oriented Enterprise

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

Global BenefitsAlignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

But this change is not mandatory. There are many other interesting ways for a company to work. If you think this does not fit your company, forget it, close this presentation, and also forget SOA. Makes no sense to have service oriented systems, if you are not service oriented!It is like storing square peaces in a triangle box. Some may fit, but you’ll be basically wasting space…Please do not try to go through SOA because the market says is the best. Salesman will always say their new product is what you need to solve your problems. The only way to solve your problems is working hard and taking the correct decisions. Ok, some new tools may help to cut time an cost, but they are not mandatory, and are just helpers. Keep this always in mind.If you are a Communications Service Provider, I am sorry to say that you have no option. Has your designation says, you are a service provider. Makes no sense not being service oriented. We’ll discuss some reasons in more detail on next slide.

What changes in the company?

Page 12: SOA Facts&Actions

Is a new vision of the company about itself, using the perspective of the clients, suppliers and partners

Service Oriented Enterprise

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

Global BenefitsAlignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

Now I think you may address the main point:

If you became a SOE, and your internal processes where all changed to follow the new paradigm, IT must also change to support the new processes, but now is easier, because you only need to do what you always did: automating the existing processes.

Now you can see why SOA is over the IT domain. Now you can see why makes no sense trying to implement SOA only from IT: it is not possible to do that. IT department has a very important role in this process, because is where the idea came from, and you must use some concepts other departments do not understand, so you’ll be catalyzing the process, but you cannot do it by yourself.

Ok, this series was very long, but the concept was very important. I’ll try to go faster now.

What changes in the company?

Page 13: SOA Facts&Actions

Is a new vision of the company about itself, using the perspective of the clients, suppliers and partners

Service Oriented Enterprise

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

Global BenefitsAlignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

Let’s see now the benefits of this change.

These are what you normally see in documentation, and they are in all vendors speech. An interesting point is that they are almost all related to IT.

Of course you’ll have all of them, but we already seen that SOA is bigger than IT, so there must have something more…

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

What changes in the company?

Page 14: SOA Facts&Actions

Is a new vision of the company about itself, using the perspective of the clients, suppliers and partners

Service Oriented Enterprise

IT BenefitsCost reductionFlexibilityFaster deliveryInfrastructure visibility

Global BenefitsAlignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

The main benefit is that you are going to change your processes to deliver exactly what your stakeholders (including he customers) need. The benefits of this change will affect all the company, not only IT. You are also going to implement some new tools and technologies to help IT support you business, adding flexibility and reducing time to market. We could build a very big list of global benefits this could bring to your business. These below are some of then, but I think the most important will be bringing IT back to business. We must support our business. How many times recently, marketing requested a new product and you told that was not possible to deliver in time?Global Benefits

Alignment to market and stakeholders expectationsBetter understanding of internal processesIncrease business visibilityIT reorganization and modernization

What changes in the company?

Page 15: SOA Facts&Actions

Reaching new customers and marketsIncrease the services to existing customersReducing operational cost

Business Objectives

Strategic ObjectivesExpanding the products portfolio to replace lost revenuesGeographical expansion – acquisitions and merges

Technical ObjectivesMigrating to next generation networksImplementing content delivery services

But, why should I change?

Page 16: SOA Facts&Actions

Reaching new customers and marketsIncrease the services to existing customersReducing operational cost

Business Objectives

Strategic ObjectivesExpanding the products portfolio to replace lost revenuesGeographical expansion – acquisitions and merges

Technical ObjectivesMigrating to next generation networksImplementing content delivery services

From this point on, I will be talking specifically for communication service providers (CSPs).

The main concepts may be used in most other areas, but some adaptations must be taken.

But, why should I change?

Page 17: SOA Facts&Actions

Reaching new customers and marketsIncrease the services to existing customersReducing operational cost

Business Objectives

Strategic ObjectivesExpanding the products portfolio to replace lost revenuesGeographical expansion – acquisitions and merges

Technical ObjectivesMigrating to next generation networksImplementing content delivery services

The world is changing. And telecomm is taking a major role in this process. Until now, knowledge was the most valuable asset in he world. Owning the knowledge brings you the power to rule the world. But this knowledge cannot be kept anymore. Sharing information is so easy and fast that is difficult to keep information, so you cannot control your assets.This presentation was written in Brazil, but can be read immediately all over the world, and the knowledge (supposing it has any) may be available simultaneously for a lot of people, immediately after expressed. This is already changing the chain of values in our society.All this change happened in last 10 years. What do you thing is going to happen in next 10?The enabler for this change was the data connection. Not only the Internet, but also private connections between divisions of companies, government agencies and others.

But, why should I change?

Page 18: SOA Facts&Actions

Reaching new customers and marketsIncrease the services to existing customersReducing operational cost

Business Objectives

Strategic ObjectivesExpanding the products portfolio to replace lost revenuesGeographical expansion – acquisitions and merges

Technical ObjectivesMigrating to next generation networksImplementing content delivery services

But, why should I change?But for telecomm companies this is becoming a problem. The price paid for the data connections dropped has fast has the connection speed grows. The price of hardware also drops very fast, and people now have in their homes equipments that 5 years ago where available only in top level service providers.Using this equipment, and with the implementation of NGN networks, in a near future we are going to deliver IP communications directly to homes. Also, governments are starting projects to include the physical data connection (wired or wireless) in the regular metropolitan infra-structure, like electricity or water, at no cost.So the most traditional asset a telecomm company has: it’s infra-structure, will have no value, and you have to share a common media with competitors, billing your customer only for the logical access you provide.

Page 19: SOA Facts&Actions

Reaching new customers and marketsIncrease the services to existing customersReducing operational cost

Business Objectives

Strategic ObjectivesExpanding the products portfolio to replace lost revenuesGeographical expansion – acquisitions and merges

Technical ObjectivesMigrating to next generation networksImplementing content delivery services

In the traditional voice communications market you also have a lot of problems: • With the increase in data connection speed and new QoS

standards, VOIP communication is already a reality, and long distance or international calls are becoming almost not used.

• Fixed connection rates (in Brazil and some other countries there is a fixed monthly fee for having a voice connection) stops making sense, because you are not circuit switched, and makes no sense to have fixed fees.

• Personal communication software and hardware is going to enable IP voice and video connections in easier standards, being available everywhere, so the use of traditional voice lines is in fast decrease.

In this scenario, the question is: what telecom companies can do to keep their revenues?

But, why should I change?

Page 20: SOA Facts&Actions

Reaching new customers and marketsIncrease the services to existing customersReducing operational cost

Business Objectives

Strategic ObjectivesExpanding the products portfolio to replace lost revenuesGeographical expansion – acquisitions and merges

Technical ObjectivesMigrating to next generation networksImplementing content delivery services

The answer is: becoming a service and content provider, aggregating new products to your portfolio, and keeping not one, but two eyes in the market expectations. Some of the promise new services are:

• On demand video and audio delivery – this is already a goal in most CSPs

• Community gaming – a very big and profitable market• Cloud computing – why not became a provider?• Application hosting – hosting applications and billing for the

time used• Home automation and security – a not so fast, but growing

market• On-line store – becoming an online store• Traditional network services – printing, storage, backup and

file sharing

Usually the Web is very more creative than any individual. So I won’t even try to figure what new services will be demanded on next years. The most important is that you must be ready to deliver new services “at the speed of the Net”!

But, why should I change?

Page 21: SOA Facts&Actions

Process redefinition and formalization

Building a corporate architecture

Mapping process areas

to systems

Building a corporate visionPay attention, because now I am going to tell you exactly what

you need to know:

So, how to get there?

Page 22: SOA Facts&Actions

Process redefinition and formalization

Building a corporate architecture

Mapping process areas

to systems

Building a corporate vision

So, how to get there?

Pay attention, because now I am going to tell you exactly what you need to know: there are no recipes to get there!I am sorry, but truly there are no recipes for success. The only think I can do is show you some global actions, but you MUST tailor then to your project (if you are disappointed, please refer to my 1st slide).

On next slides, we are going to detail some actions, and I truly believe if you can successfully implement then, you have good chances of getting there.

Page 23: SOA Facts&Actions

Process redefinition and formalization

Building a corporate architecture

Mapping process areas

to systems

Building a corporate vision

There are also some main recommendations I think are very important to the whole process:

PlanningPlan everything. Document you plans. Re-plan. Planning the project is for professionals, and must be taken very seriously and carefully. If you are the leader of this project and you are not a professional project manager, request one to be at your side. There is no shame on this, and you can avoid a lot of problems.

Align expectationsThe letters SOA brings a lot of expectations by itself. Make sure every stakeholder knows the objectives of each step, and build regular reports showing the expected and achieved results. The board of directors expects objective results from your project, so if you are vague about then, you can lose you sponsors and the project is gone.

So, how to get there?

Page 24: SOA Facts&Actions

Process redefinition and formalization

Building a corporate architecture

Mapping process areas

to systems

Building a corporate vision

Broadcast the resultsRefactoring your processes have no results if the new processes are not know. Processes not know are not used, and are absolutely useless. Make sure the redefinitions are know and used by the corresponding teams.If you have enough resources, build a communication team in charge of publishing and divulgating all the results.

Respect the planning and standardsDon’t try to cut the schedule without renegotiating the scope or resources. And I beg you, don’t forget the standards and the quality when the schedule is gone. There is always that infamous phrase: “I’ll correct it later”. This is a big lie. You won’t ever have time to correct that, and this will become a point of weakness for the rest of the project!

These recommendations are not new, and could be applied to any project, but I think they are specially important for a SOA project. If you can, try to use then also in other projects, and I promise you’ll have good results.

So, how to get there?

Page 25: SOA Facts&Actions

Process redefinition and formalization

Building a corporate architecture

Mapping process areas

to systems

Building a corporate vision

So, how to get there?

Page 26: SOA Facts&Actions

Process redefinition and formalization

Tasks Mapping the actual processes (has it

is) Redefinition of the processes to be

adherent to the new directives (SOE) Validation through eTOM processes Divulgation, training and planning

for implementation

Recommendations Processes mapping should be done

by specialists, and is a good practice to contract external consultants

Divide to conquer: define multiple steps and teams, and establish milestones has needed

Stakeholders Departments belonging to the areas

under definition Network Engineering and Marketing

Offer will be critical stakeholders

Process redefinition and formalization

Before starting, let’s first address a very important point: TMForum Project.

TMForum has done a very good and important job on defining standards for telecommunication companies, and a good strategy for adopting SOA necessarily includes all of their four main projects: eTOM, SID, TAM and TNA.But once more, the only people who can solve your problems is you. So, I take their work has a good starting point, but your definitions overtake any TMF standard.The nature of TMF has been misunderstood many times. In many places they inform you that is expected that you tailor the definitions to your needs. So, do not take it has as a Bible, something that cannot be changed anyway.

Today, there is also a certification that says your system was build completely adherent to their definitions. This should be great for a systems vendor, but for a service provider this certification means nothing.

Page 27: SOA Facts&Actions

Process redefinition and formalization

Tasks Mapping the actual processes (has it

is) Redefinition of the processes to be

adherent to the new directives (SOE) Validation through eTOM processes Divulgation, training and planning

for implementation

Recommendations Processes mapping should be done

by specialists, and is a good practice to contract external consultants

Divide to conquer: define multiple steps and teams, and establish milestones has needed

Stakeholders Departments belonging to the areas

under definition Network Engineering and Marketing

Offer will be critical stakeholders

Process redefinition and formalization

Page 28: SOA Facts&Actions

Process redefinition and formalization

Tasks Mapping the actual processes (has it

is) Redefinition of the processes to be

adherent to the new directives (SOE) Validation through eTOM processes Divulgation, training and planning

for implementation

Recommendations Processes mapping should be done

by specialists, and is a good practice to contract external consultants

Divide to conquer: define multiple steps and teams, and establish milestones has needed

Stakeholders Departments belonging to the areas

under definition Network Engineering and Marketing

Offer will be critical stakeholders

Redefining the processes is the most difficult job in this project, because this means changing the way a lot of people have been working for a long time. Facing a lot of opposition is normal, and you must be patient and have the ability to drive the conflicts. Sometimes will be very import to have a strong commitment from your sponsors, because some guys refuse to change, and the only way of doing will be if he receives a direct order from senior management.

Would be very good if this job could be done by external consultants, because is natural that you find your process is the best. If always worked, why I need to change it? An external vision is very helpful, and a good opportunity for improvements.

A very important risk in process redefinition projects is losing focus and becoming very long and vague. When this happens, they used to finish without any results. To avoid this problem, plan carefully your project, establishing milestones when you see some visible and objective results may be presented.

Process redefinition and formalization

Page 29: SOA Facts&Actions

Process redefinition and formalization

Tasks Mapping the actual processes (has it

is) Redefinition of the processes to be

adherent to the new directives (SOE) Validation through eTOM processes Divulgation, training and planning

for implementation

Recommendations Processes mapping should be done

by specialists, and is a good practice to contract external consultants

Divide to conquer: define multiple steps and teams, and establish milestones has needed

Stakeholders Departments belonging to the areas

under definition Network Engineering and Marketing

Offer will be critical stakeholders

Process redefinition and formalization

Another good strategy is using existing implementation projects to select the areas that will be redefined first. So you not only show the new processes, but also have systems being implemented using the new definitions.If possible, implement metrics to show the performance of the processes before and after the redefinition. This is a very good strategy and the board of director will love to see it.

Your most important stakeholders in this task will be Network Engineering and Marketing Offer areas, because they work directly in the provisioning and definition of the products your company sells to the customers. Make sure they are always involved and active in this task, or you can end with processes that cannot be executed or are not relevant to the company.

Page 30: SOA Facts&Actions

Building a corporate vision

Tasks Mapping all entities required for the

business processes Validation through SID model and

existing entities in main systems Divulgation, training and

planning for implementation

Recommendations Data model should be defined in a

data definition tool, supporting versioning, change impact analysis and tracking

Work must be done in collaboration to the processes redefinition

Stakeholders Departments belonging to the

areas under definition Corporate architecture team Data administration team Network Engineering and Marketing

Offer will be critical stakeholders

Building a corporate vision

Page 31: SOA Facts&Actions

Building a corporate vision

Tasks Mapping all entities required for the

business processes Validation through SID model and

existing entities in main systems Divulgation, training and

planning for implementation

Recommendations Data model should be defined in a

data definition tool, supporting versioning, change impact analysis and tracking

Work must be done in collaboration to the processes redefinition

Stakeholders Departments belonging to the

areas under definition Corporate architecture team Data administration team Network Engineering and Marketing

Offer will be critical stakeholders

Building a corporate vision means defining a common sense about entities involved in business interactions. When all the company agrees about what is a customer, a supplier, a partner, and what is the structure of all products, developing systems becomes very easier, and the integration of the systems is a natural task. This must be done in collaboration to the processes redefinition, because this is the common language that will be used to define the information flow in the processes.Using SID (Shared Information Data) from TFM is a very good starting point, but it still does not cover all areas, so you have a big job to do. Consider also the entities of your main systems, and if possible, keep then compatible and accomplished by your definitions. This will give you lower migration efforts in the future.These entities will be the basis for the contracts of your services, but remember, at this time you are not supposed to represent these entities in any technology. Defining the best technology is an architectural task, and will be handled by another team. Keep you entities has technology neutral as possible.

Building a corporate vision

Page 32: SOA Facts&Actions

Building a corporate vision

Tasks Mapping all entities required for the

business processes Validation through SID model and

existing entities in main systems Divulgation, training and

planning for implementation

Recommendations Data model should be defined in a

data definition tool, supporting versioning, change impact analysis and tracking

Work must be done in collaboration to the processes redefinition

Stakeholders Departments belonging to the

areas under definition Corporate architecture team Data administration team Network Engineering and Marketing

Offer will be critical stakeholders

Another possibility is using the entities of your most important system has corporate definitions. This could cut a lot of work, but normally one single system does no have all necessary entities. You should also know that doing this, you are adapting the company to the systems, and not the systems to the company. This has many side-effects, and you must be sure all stakeholders knows and agree on this.Defining all these entities and reusing then in all services has a lot of benefits, but a potential risk: any change in the model may impact a lot of services. So is very important that these definitions where kept in a good case or data modeling tool, to handle versioning and change impact analysis. You must have full visibility about what services are using each entity, because you really do not want that, in the future, all your services stops working because an unadvised analyst included and insignificant but mandatory attribute in a common entity.

I should say again: definitions not know are not used, and are useless. So divulgating this vision, and enforcing it’s use is also a very important task.

Building a corporate vision

Page 33: SOA Facts&Actions

Building a corporate vision

Tasks Mapping all entities required for the

business processes Validation through SID model and

existing entities in main systems Divulgation, training and

planning for implementation

Recommendations Data model should be defined in a

data definition tool, supporting versioning, change impact analysis and tracking

Work must be done in collaboration to the processes redefinition

Stakeholders Departments belonging to the

areas under definition Corporate architecture team Data administration team Network Engineering and Marketing

Offer will be critical stakeholders

Your most important stakeholders will be the involved areas, and also the Network Engineering and Marketing Offer areas, for the same reason of the processes redefinition.Corporate architecture team will be your guide for a lot of global definitions. If you think about geographical expansion and integration, you need to be aware of representing date, time, time-zone and currency information. If you are going to have decentralized development and/or error handling, you must also consider the idiom used for the definitions carefully.Data administration team is usually focused only in database structures, but is the most ranked candidate team to became the owner of the corporate vision. They should manage these definitions, and ensure that database models are correctly representing this vision. If this is your case, involving then in this task is mandatory, and they should also receive the necessary training and resources.

Building a corporate vision

Page 34: SOA Facts&Actions

Building a corporate vision

Tasks Mapping all entities required for the

business processes Validation through SID model and

existing entities in main systems Divulgation, training and

planning for implementation

Recommendations Data model should be defined in a

data definition tool, supporting versioning, change impact analysis and tracking

Work must be done in collaboration to the processes redefinition

Stakeholders Departments belonging to the

areas under definition Corporate architecture team Data administration team Network Engineering and Marketing

Offer will be critical stakeholders

Building a corporate vision brings many benefits, and some of then does not belong directly to SOA:

Using common definitions in integration interfaces increases their reusability, because you are using a language common to all systems, so many clients which where not targeted when you defined your interface may use it;

Once you have a corporate vision, is natural that new systems being developed use this vision, and on a medium term scenario, integrating systems becomes easier than before;

Building a corporate vision

Page 35: SOA Facts&Actions

Building a corporate architecture

Tasks Building a reference

architecture, covering policies and technical rules

Identify gaps in the existing tools and suggest upgrades or migrations

Validation through TNA Divulgation, training and

planning for implementation

Recommendations Start-up architecture should

be defined, but keeping space for evolution

Definition should be done considering and heterogeneous environment

Stakeholders Corporate architecture team Corporate security team Systems integration team

Building a corporate architecture

Page 36: SOA Facts&Actions

Building a corporate architecture

Tasks Building a reference

architecture, covering policies and technical rules

Identify gaps in the existing tools and suggest upgrades or migrations

Validation through TNA Divulgation, training and

planning for implementation

Recommendations Start-up architecture should

be defined, but keeping space for evolution

Definition should be done considering and heterogeneous environment

Stakeholders Corporate architecture team Corporate security team Systems integration team

Building a corporate architecture is divided in two distinct tasks:

In a higher level, you must take a lot of decisions in a technology neutral view. These decisions will impact how your systems will be implemented, and at this level, they are know as policies. Some of these most important policies are:Basic SOA definitions, stating what is a service contract and

how to define it;Defining patterns for services: when using on-line X batch

services, synchronous X asynchronous services;Defining how to handle internationalization data (date, time,

time-zone, currency, etc.);Defining how to establish and track SLA policies (including

systems and integration performance);Defining business and technical monitoring policies;Defining how to handle errors and problem resolution;Defining security considerations. You must take in account at

lest confidentiality (encryption), and the AAA: Authentication, Authorization and Accounting;

Building a corporate architecture

Page 37: SOA Facts&Actions

Building a corporate architecture

Tasks Building a reference

architecture, covering policies and technical rules

Identify gaps in the existing tools and suggest upgrades or migrations

Validation through TNA Divulgation, training and

planning for implementation

Recommendations Start-up architecture should

be defined, but keeping space for evolution

Definition should be done considering and heterogeneous environment

Stakeholders Corporate architecture team Corporate security team Systems integration team

This higher level architecture is directly connected to TNA (Technology Neutral Architecture) from TMF, so read the document and customize to your needs.

The other task will be defining how the higher level policies will be implemented in your company. This includes the following tasks:Defining how to represent and manage process and data

definitions;Identifying gaps in your system’s infra-structure, and

deciding how to eliminate these gaps, if upgrading or buying new tools;

Define programming languages and technologies (including data representation, application servers, ESB, BPM, and all other components in this soap);

Integrating security policies into corporate security;Defining best practices and standards for each tool or

language;

Basically, this task means defining how to realize all policies established in high level architecture.

Building a corporate architecture

Page 38: SOA Facts&Actions

Building a corporate architecture

Tasks Building a reference

architecture, covering policies and technical rules

Identify gaps in the existing tools and suggest upgrades or migrations

Validation through TNA Divulgation, training and

planning for implementation

Recommendations Start-up architecture should

be defined, but keeping space for evolution

Definition should be done considering and heterogeneous environment

Stakeholders Corporate architecture team Corporate security team Systems integration team

Once more: definitions not know are not used, and are useless. So divulgating the architecture, and enforcing it’s use is mandatory.

Corporate security, corporate architecture and systems integration teams are not only stakeholders: they are the teams responsible for executing this job. If your are not from one of these teams, delegate this responsibility for then, and make sure they know it, and agree on this.

Building a corporate architecture

Page 39: SOA Facts&Actions

Building a corporate architecture

Tasks Building a reference

architecture, covering policies and technical rules

Identify gaps in the existing tools and suggest upgrades or migrations

Validation through TNA Divulgation, training and

planning for implementation

Recommendations Start-up architecture should

be defined, but keeping space for evolution

Definition should be done considering and heterogeneous environment

Stakeholders Corporate architecture team Corporate security team Systems integration team

There are also some recommendations very important for this task:

Build to change: your architecture must be defined considering that you are not going to address all problems correctly in a first try. So you must have space for corrections, if you find something is wrong, and for improvements that certainly will come.

Do not freeze the creativity: you must define strong standards, but they cannot be so strong that completely cut your developers creativity. This is their best characteristic, so let then use it. This balance is very difficult to reach, but if you followed the first recommendation, you can always change on the going.

Plan for a heterogeneous system: you can argue that your company defined that is going to use only Java or .NET, or is going to use only Windows or Unix systems, but these definitions used to change fast, according to changes on cost or corporate policies. If possible, try to build an interoperable system, even if is not needed now. You probably is going to need it in the future.

Building a corporate architecture

Page 40: SOA Facts&Actions

Mapping process areas

to systems

Tasks Identifying which functionalities

will be provided by each system, according to business processes

Validation through TAMDivulgation, training and

planning for implementation

RecommendationsTry not having multiple systems

providing the same functionality

StakeholdersSystems teamsBusiness areas relative to the

systemsCorporate architecture team

Mapping process areas to systems

Page 41: SOA Facts&Actions

Mapping process areas

to systems

Tasks Identifying which functionalities

will be provided by each system, according to business processes

Validation through TAMDivulgation, training and

planning for implementation

RecommendationsTry not having multiple systems

providing the same functionality

StakeholdersSystems teamsBusiness areas relative to the

systemsCorporate architecture team

Mapping process areas to systems

At last, but not least, you have to map the business functionalities to the corresponding systems. This is exactly the objective of TAM (Telecom Application Map) from TMF, so take it has the basis for the mapping, and change it to match your needs.Sometimes you see that some systems functionalities overlaps. This is normal, but is important to reduce this overlapping, and when not possible, establish objective criteria for defining which system is going to handle the process.Has fewer systems you have, lower will be the integration and maintenance effort, and has better defined selection criteria, smaller will be your global complexity.

This seams to be a less important task, but a lot of money was already been spent by “smart” guys, who decided to implement a functionality in the wrong system, because at their evaluation time, he could do that very faster there. Normally the cost of this decision comes later, and is very higher than the cost of building in the correct place.

Page 42: SOA Facts&Actions

Mapping process areas

to systems

Tasks Identifying which functionalities

will be provided by each system, according to business processes

Validation through TAMDivulgation, training and

planning for implementation

RecommendationsTry not having multiple systems

providing the same functionality

StakeholdersSystems teamsBusiness areas relative to the

systemsCorporate architecture team

Do I need to say again? definitions not know are not used… Do it!

Your stakeholders will be the system involved, the corresponding business area, and corporate architecture team, because some times you can see that existing systems does not match your needs, and you need their support for defining a new one.

Mapping process areas to systems

Page 43: SOA Facts&Actions

What else?Here we finished to define the four main tasks, but we didn’t define any services at all. At this point, you should have:Some initial processes under redefinition;At least the common entities being mapped;A least a draft of your corporate architecture;Some application areas already mapped; Now we need a strategy for starting to build some services. Surely, the company cannot wait until you finish these four tasks. I really don’t care about what tools and technologies where selected by architecture team. SOA definitions should not depend on this. Using WebServices is a market standard, because allows you to have interoperability among programming languages and platforms (this still has some limitation and lots of problems), but this is your company, so is your decision.But before building a strategy, let’s establish some common concepts about types of services:

Page 44: SOA Facts&Actions

Types of servicesInterface ServicesThese services are used for replacing the standard systems APIs, allowing to be remotely called by any other system, using the standards defined by corporate architecture team. Expose the functionalities exactly has defined in the API; Use the system’s data model to define the contract, plus some

additional common definition, if required (for security or monitoring is an example);

Many systems may expose the same functionality (you must define the criteria in process mapping task);

Criteria is simple: you have separate customer inventory systems for mobile and wired products.Client must know the rule, and implement correctly, doing the call to the correct system.The data sent and received in the call is different for each system, and must be handled by the client.

Customer Inventory System

(for mobile products)

Customer Inventory System

(for wired products)

RequestCustomerInfoById() RequestCustomerInfoById()Client System

Page 45: SOA Facts&Actions

Types of servicesBusiness ServicesBusiness services are your goal. They are constructed to match your new service oriented business processes, and the objective is replacing all interface services with a corresponding business service. Exposes the functionalities defined in the business processes; Uses the corporate vision and implements all architectural

requisites; Only one service may exist exposing each functionality;

Client does not even know the complexity of the service. He is requesting a business service, and the ESB is responsible for converting any information and knowing the criteria to execute the action.If the criteria or complexity of the action changes, the client is not impacted.

Customer Inventory System

(for mobile products)

Customer Inventory System

(for wired products)

RequestCustomerInfoById()

RequestCustomerInfoById()

Client System

Enterprise Service Bus

RequestCustomerInfoById()

Page 46: SOA Facts&Actions

Types of servicesComposite ServicesThis is an especial category of business services, and we are going to take a little bit more time to understand it. Services are normally designated has composite, when have some internal orchestration (more than one service is internally called to execute the action). This definition makes no sense for me, because we already seen that services are black-boxes for the clients, and I would never categorize a service based on something that can’t be seen.We already know that a service is an atomic action executed to get a discrete operation done. But in nowhere is defined that this operation must be implemented by a single technical artifact.So this defines a composite service: is an operation that have more than one step to be executed, bus is handled has an atomic unit, and represents a discrete operation to the business process.

Page 47: SOA Facts&Actions

Types of servicesComposite ServicesConfused? So let’s see a diagram, using a very simplified sales service:

ESB is responsible for storing required information and enforce that all steps where executed in the correct order.Any action that could be executed immediately should be done (synchronous or asynchronously).

System A

1CreateSalesInteration() ESB is responsible for

executing all required actions in any system, to perform the request.

Enterprise Service Bus

2RequestCustomer

InfoById()

3PerformCredit

Analisys() 4ValidadeProductConfiguration()

5ConfirmProduct()

6CloseSalesInteraction()

System B System ...

For executing the SaleProduct() service, the client must execute all these actions in the correct order, according to the service contract.

Client System

Page 48: SOA Facts&Actions

Types of servicesComposite ServicesIn the previous diagram, you can see that for executing the SaleProduct() service, the client must execute six services, in a specific order. This service represents a discrete function (selling a product), and is controlled by the ESB has a single atomic operation. So in a business point of view, this is a service, and doesn’t matter if you need to execute six steps for applying to the contract.But some people may argue that in this vision, any sequence of services may be a composite service! The answer is no. Can be considered a service only if all the sequence is controlled has an atomic operation.

Page 49: SOA Facts&Actions

Implementation StrategyLet’s go back to the strategy. In reality you are already on the road.That four tasks we defined are already running, and you already have some mapped processes and data definitions. This is a very important part of the strategy.The nest step is identifying your services, and start constructing. But what happens if I need to use a process that was not yet mapped? My strategy is building interface services, and delegating the business rules to the client. In parallel, flag this process to be mapped has soon as possible and after finished, build the corresponding business services and cut the access to the interface services.Of course, is not this easy. Delegating rules to the clients creates many problems, and you must do it carefully. Cutting the access to interface services cannot be done before migrating the clients to the new services, and this takes time. And all this process requires a lot of planning. Did you remember my recommendation about having a professional project manager?This whole process of managing the implementation of services is our next point. It is called: SOA Governance.

Page 50: SOA Facts&Actions

SOA GovernanceA lot of vendors try to convince you that SOA governance is only managing the lifecycle of services. This is the smaller part of the job. In reality, you already started the governance when you began to redefine your first process.SOA governance is a endless cycle, where each step gets input from the previous step, and adds your own requisites. The main tasks are the following:Defining the initial processes (a new process must start from

something);Identify and formalize the services (building the business

contract);Construct and test services;Manage service use, and collect execution information and client

feedback;Redefine the process to improve your services;Go back to the second step;Also, your governance cycle is not in the same step for all your processes. You started redefining your process one by one, so each one will be in a different step.

Page 51: SOA Facts&Actions

SOA Governance

Process Redefinition

Services identification and

formalization

Constructing and testing servicesManaging services

Business requirements (SOE)

Functional requisites

Technical requisites

Operational requisites

Corporate architecture standards

Programming and quality standards

Monitoring data and users feedback

Change requests

Page 52: SOA Facts&Actions

SOA GovernanceBut, if governance is an endless cycle, you need a team to take care of it. This team is usually called the governance committee:This must be a multidisciplinary team, composed basically of the

same stakeholders you identified in the four initial tasks;If SOA is not an IT task, of course this team was not supposed to

be under IT hierarchy. In fact, this committee is going to have more people from other areas than from IT;

This is an endless task, so all that recommendations still applies (planning, align expectations, broadcast your results and respect your standards);

During the initial implementation, this team will be very busy, so this is a full time job. People must be designated in full time for this task, and should be rewarded for that. It’s fair, because they will never be the same again!

Page 53: SOA Facts&Actions

Conclusions (Finally!!)In this document, you have a lot of concepts you can find in many others, but some few are very different:SOA is not an IT job. It’s a new operational paradigm, and cannot

be reached only by IT team;Only makes sense to adopt SOA if you want to be a SOE. If not,

there are other efficient ways for a company (and the IT department) to work;

The definition of a service is bigger than any technical implementation, and is related to the functionality required to execute a business process. So, SOA is not related to any specific technology;

There must not have a 1 to 1 match between business services and implemented technical services. One business services may be composed by a group of technical services;

SOA governance means governing all the process, from the business definition until monitoring the execution, and is an endless cycle;

Page 54: SOA Facts&Actions

That’s all folks!Before we finish, I would like to say that I am not offering you an easy job. No one of these task will be easy, and in a average size company, you are going to take some years until you fell comfortable to say: I am service oriented.But I think that, at least for CSPs, there is no option. Is a case of doing or losing market share, because someone else will do, and will be more competitive than you. All I am offering is a lot of work, and the hope for an easier future.Like in the movies, you have two options:Take the blue pill, wake up tomorrow and forget all this stuff;Or take the red pill, and you’ll se how deep the rabbit hole is…

Thanks!

Page 55: SOA Facts&Actions

If you need and information or have any question, please

send to:[email protected]

or to Skype:jluizberg

I will be happy to reply to you has soon has I can.