Web Services (WS-*)
Cross-language/platform
Standard marshalling layer
Widespread industry/vendor support
Extensive horizontal services
Buzzword of the day: 2002-2008
JavaEE/Java2 Enterprise Edition
Java platform (cross-platform/OS)
Standard marshalling layer
Widespread industry/vendor support
Extensive horizontal/vertical services
Buzzword of the day: 2000-2005
CORBA
Cross-language/platform
Standard marshalling layer
Widespread industry/vendor support
Extensive horizontal services
Buzzword of the day: 1996-1998
DCE OSF RPC
Cross-language/platform
Standard marshalling layer
Widespread industry/vendor support
Extensive horizontal services
Buzzword of the day: 1992-1994
Interoperability is crucial from the start
Vendor goodwill is crucial on an ongoing basis
Distributed objects yield bad models
Start from the middle
Recognize the flaws of the marshalling layer(s)
RPC programming style has implicit liabilities
It's all just middleware
widely-believed falsehoods
incorrect assumptions
lovingly-endorsed "alternative facts"
mistakes that are all too easy to repeat
"anti-patterns"
"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."
... once you know about them, you can avoid them
... "Everyone makes these assumptions"
largely because they're easy to make
and they help us avoid hard truths
and painful realizations/pain points
The future isn't set in stone
The future isn't set in stone
But don't repeat the mistakes of the past
The future isn't set in stone
But don't repeat the mistakes of the past
And don't let the vendors oversell you on the tech
Who is this guy?
Architect, Engineering Manager/Leader, "force multiplier"
Principal -- Neward & Associates
http://www.newardassociates.com
Educative (http://educative.io) Author
Performance Management for Engineering Managers
Author
Professional F# 2.0 (w/Erickson, et al; Wrox, 2010)
Effective Enterprise Java (Addison-Wesley, 2004)
SSCLI Essentials (w/Stutz, et al; OReilly, 2003)
Server-Based Java Programming (Manning, 2000)