Application Modernization with SOA Best Practices and...

Post on 11-Jun-2020

2 views 0 download

Transcript of Application Modernization with SOA Best Practices and...

1

Copyright © 2009, ZapThink, LLC 1

Application Modernization with SOABest Practices and Success Stories

Jason BloombergZapThink LLC

Copyright © 2009, ZapThink, LLC 2

We’ve had IT challenges for years …

Source: Microsoft

2

Copyright © 2009, ZapThink, LLC 3

… but even after yesterday’s promises…

Source: Microsoft

Copyright © 2009, ZapThink, LLC 4

… we still have the same IT mess, only worse.

3

Copyright © 2009, ZapThink, LLC 5

If you are in a Hole, Stop Digging!

• IT Decision Making’s Fatal Flaw:– Choice between “take some extra time & money

and do it right” vs. “give me what I want the cheapest & fastest way” – guess which wins?

• Repeat enough times, leads to the IT “Rat’s Nest”

Copyright © 2009, ZapThink, LLC 6

What is SOA?

• SOA is architecture – a set of best practices for the organization and use of IT, and the discipline to follow them

• Abstracts software functionality as loosely-coupled, Business Services

• Services can be composed into applications which implement business processes in a flexible way, without programming

4

Copyright © 2009, ZapThink, LLC 7

Lego “Ilities”

• Interoperability

• Unbreakability

• Composability

• Reusability

What the Business wants from IT!What the Business wants from IT!

Copyright © 2009, ZapThink, LLC 8

What’s a Service?

• Word has many meanings

• Even in IT, has many meanings– Software-as-a-Service– IT Service

Management– SOA

5

Copyright © 2009, ZapThink, LLC 9

Levels of Service Abstraction

• Service Implementation– Working software that implements

the Service

• Service Interface– Contracted interface to underlying

functionality (includes Web Services)

• Business Service– Abstraction of underlying

functionality and data with a clear business context

Copyright © 2009, ZapThink, LLC 10

What are Services?(Technically, Service interfaces)

• Contracted interfaces to software functionality and data that communicate via messages

6

Copyright © 2009, ZapThink, LLC 11

Service Interfaces Aren’t Good Enough!

• Service Interfaces provide a technical context– Standard interfaces like Web

Services help, but don’t provide all the benefits of SOA

• Business Services provide the business context– The business doesn’t care how it

works, as long as it does!

Copyright © 2009, ZapThink, LLC 12

The Difference is the Abstraction

• Mature technology is complex on the inside yet simple on the outside

• The secret is the abstraction layer

7

Copyright © 2009, ZapThink, LLC 13

Abstraction = Working Illusion

Copyright © 2009, ZapThink, LLC 14

Building a Working Illusion

• Service abstraction provides simplicity to user

• Requires additional complexity “behind the scenes”

• Sleight of hand & misdirection!

8

Copyright © 2009, ZapThink, LLC 15

Exposing Existing Capabilities

• Service interfaces exposed from existing systems

• Often pre-defined by existing software

• Low-level representations of internal application functions or interfaces often exposed as Web Services

Copyright © 2009, ZapThink, LLC 16

SOA, Integration & Legacy

• Key goal of SOA: Integration as a byproduct of Service composition

• Goal of legacy integration: building Services to support this goal, NOT connecting systems to address a particular business need

Move away from Move away from ““connecting systemsconnecting systems””and toward and toward ““composing Servicescomposing Services””

9

Copyright © 2009, ZapThink, LLC 17

The Continued Value of Legacy

• Definition of legacy: “anything that works”– Sometimes old, but not

necessarily

• Expensive & risky to replace– Often contains mission

critical business logic

• Expensive & risky to keep around– Maintenance consumes major

portion of IT budget

““Rip & ReplaceRip & Replace”” rarely a viable optionrarely a viable option

Copyright © 2009, ZapThink, LLC 18

Legacy Migration

• Pros:– Reduces ongoing costs

of maintenance– SOA abstracts

interfaces, easing replacement

• Cons:– System still provides

value– High cost and risk

Retire legacy applications & systems;Retire legacy applications & systems;Application consolidationApplication consolidation

10

Copyright © 2009, ZapThink, LLC 19

Legacy Enablement

• Pros:– Lowers risk and cost of migration– Maintains value of legacy– Does not require SOA

• Cons:– Inflexible– Can lead to “ABOS” problems

Simplistic exposure of Simplistic exposure of legacy capabilities/data as Serviceslegacy capabilities/data as Services

Copyright © 2009, ZapThink, LLC 20

Legacy Rejuvenation

• Pros:– Squeeze more value out

of existing assets– Increases business

agility– Non-invasive

• Challenge:– Requires new

architectural approach to legacy

Leverage legacy (especially mainframe)Leverage legacy (especially mainframe)as active SOA participantas active SOA participant

11

Copyright © 2009, ZapThink, LLC 21

Migration vs. Rejuvenation

• Retiring legacy systems typically takes years

• Transition plan required regardless of final disposition

• Migration may involve rejuvenation during transition

You may never pull the plug!You may never pull the plug!

Copyright © 2009, ZapThink, LLC 22

Business Driver: Cost Savings

• Reduction in integration expense– EAI replacement/EAI maintenance reduction– Legacy enablement/migration/rejuvenation

12

Copyright © 2009, ZapThink, LLC 23

Business Driver: Reuse

• Reuse the old way: code reuse– Reusable code libraries and

subroutines – the “Holy Grail” of programming

– Branching code base reduces reusability

– Hard to write reusable code, as requirements are never clear

• Reuse the new way: Service reuse– Reuse at runtime based upon contracted functionality– Loose coupling leads to flexible reuse– Appropriate governance and flexible metadata essential!

Copyright © 2009, ZapThink, LLC 24

Reuse for Customer Value

• Typically large organizations with multiple Lines of Business

• Share customers across LOBs

• Provide value to your best customers!

13

Copyright © 2009, ZapThink, LLC 25

Reuse Challenges

• Many Services not designed for reuse

• Simply exposing Web Services does not increase reusability substantially

• Services are often too course grained to be reusable

• Core business systems do very different things and often don’t need to share Services anyway!

Copyright © 2009, ZapThink, LLC 26

Reuse over Time

New Composite Apps or Service-Enabled Existing Apps

Service Catalog

Service Model

Data Access Services Legacy API Services

Coarse-Grained Business Services

Presentation Services

1 32 4 5 6 987

1

1

1

1

1

2

2

2

2

3

3

3

3

4

4

4

5

55

5

6

6

6

6

7

7

7

7

8

8

8

8

9

9

9

9

Source: BEA Systems

14

Copyright © 2009, ZapThink, LLC 27

Is Reuse a Real SOA Benefit?

Copyright © 2009, ZapThink, LLC 28

SOA Reuse Governance

• Reuse only important in practice• Planning for reuse pointless without actual reuse!• Developers would prefer to build

anew• Application assembly a new

pattern• Reuse governance covers:

– Finding Services– Understanding Services– Composing Services– Publishing the resulting compositions

15

Copyright © 2009, ZapThink, LLC 29

Challenge: Reuse = Sharing

We all learned to share in kindergartenWe all learned to share in kindergarten……

But by the time we get to the working world, we But by the time we get to the working world, we forget how!forget how!

Copyright © 2009, ZapThink, LLC 30

Thank You!

ZapThink is an industry advisory & analysis firm focused exclusively on SOA, EA, and Enterprise 2.0.

Register for an upcoming Licensed ZapThink Architect course and obtain your LZA Credential!

Jason Bloomberg

jbloomberg@zapthink.com