Platform-Oriented Architecture (POA)

ted@tedneward.com | Blog: http://blogs.tedneward.com | Twitter: tedneward | Github: tedneward | LinkedIn: tedneward

WTF Are We Doing?

Haven't we been here before?

WTF Are We Doing?

Our industry has had its fair share of "moments"

WTF Are We Doing?

Heard these before?

WTF Are We Doing?

Heard these before?

WTF Are We Doing?

Heard these before?

WTF Are We Doing?

Heard these before?

"The three standard and most common business drivers for any {thing} architecture are:* The ability to respond to the business needs in a timely fashion so that the business can grow* Improve the customer experience so that customer churn is reduced* Reduce the cost to add more products, customers or business solutions"

WTF Are We Doing?

Truth is, that's been our goal since 1950

Service-Oriented Architecture (SOA)

Four Tenets of SOA

Service-Oriented Architecture

Service-Oriented Architecture

Service-Oriented Architecture

The Four Tenets

Service-Oriented Architecture

SOA Implementations

Service-Oriented Architecture

Results/outcome

WTF Are We Doing?

And we keep making the same mistakes over and over again

In each case, we keep

Fallacies

What are these again?

Fallacies

Fallacies are...

Fallacies

To put it in Deutsch's own words...

"Essentially everyone, ... makes the following assumptions.

"All turn out to be false in the long run and all cause big trouble and painful learning experiences."

Fallacies

In theory...

In practice...

The Fallacies of Distributed Computing

Mistakes are all too easy to repeat

The Fallacies of Distributed Computing

"Essentially everyone, when they first build an distributed system, makes the following 10 assumptions. All turn out to be false in the long run and all cause big trouble and painful learning experiences."

    The network is reliable

    Latency is zero

    Bandwidth is infinite

    The network is secure

    Topology doesn't change

    There is one administrator

    Transport cost is zero

    The network is homogeneous

The Fallacies of Enterprise Computing

Mistakes are all too easy to repeat

The Fallacies of Enterprise Computing

"Essentially everyone, when they first build an enterprise application, makes the following assumptions. All turn out to be false in the long run and all cause big trouble and painful learning experiences."

    New technology is always better than old technology

    Enterprise systems are not “distributed systems”

    Business logic can and should be centralized

    Data, object or any other kind of model can be centralized

    The system is monolithic

    The system is ever finished

    Vendors can make problems go away

    Enterprise architecture is the same everywhere

    Developers need only worry about development problems

What is the answer?

What next?

What is the answer?

More importantly, how do we not throw away what is good?

The Four Tenets of SOA

a.k.a. SOA in a Nutshell

The Four Tenets of SOA

Four guiding principles around SOA

The Four Tenets of SOA

Boundaries are explicit

The Four Tenets of SOA

Services are autonomous

The Four Tenets of SOA

Services share schema & contract, not class

The Four Tenets of SOA

Service compatibility is based on policy

What is the answer?

What are we really trying to accomplish here?

What is the answer?

What are we really trying to accomplish here?

We're trying to build platforms

Platform-Oriented Architecture

The foundation for productive development

Platform-Oriented Architecture (POA)

What is a platform?

Platform-Oriented Architecture (POA)

POA is...

Platform-Oriented Architecture (POA)

POA is...

Platform-Oriented Architecture (POA)

In technical terms, POA is...

Context

The all-encompassing 'missing link'

Context

"Context"

"the circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood" -- Oxford English Dictionary

Context

"Context"

"(L., contexere, "to weave together", from con, "with", and texere, "to weave"). The sum total of meanings (associations, ideas, assumptions, preconceptions, etc.) that (a) are intimately related to a thing, (b) provide the origins for and (c) influence our attitudes, perspectives, judgments, and knowlege of that thing." -- Dictionary of Philosophy

Context

"Context"

"an agent's understanding of the relationships between the elements of the agent's environment." -- Understanding Context (OReilly and Associates)

Context

Major components to a Context

POA: Technical Details

How do I build one?

POA: Technical

Building a platform is actually not all that hard

POA: Technical

Define/SWAG out platform requirements

POA: Technical

Choose an implementation set

POA: Technical

Decide on the communications backplane

POA: Technical

Define the entity models

POA: Technical

Establish how actors establish themselves

POA: Technical

Build out the DevOps pipeline

POA: Technical

Implementation details

Summary

Wrapping it all up

Summary

POA is our past, and our future

Credentials

Who is this guy?