technoprisoners! some thoughts on how to avoid becoming one of them jim walmsley it specialist, ibm...

25
TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Upload: frank-horatio-tucker

Post on 04-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

TechnoPrisoners! Some thoughts on how to avoid

becoming one of them

Jim WalmsleyIT Specialist, IBM

August, 2002

Page 2: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

What’s happening

Complexity increases Control decreases

With the shift to Internet-based apps:

Page 3: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

The good old days…

Simple, small transactions Private corporate network Single database Few interfaces One program does it all : UI, logic,

Database handling, printing Centralised development

Page 4: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Now…

Web Portal architecture

Page 5: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Now…

Applications spread across worldwide network (the internet)

No control over the end-user environment

Services (security, messaging) may be provided by completely different systems

Requirement for:

Interoperability Pervasive

access Personalisation Flexibility Yadah yadah

yadah

Page 6: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Driving the change... The user’s desire for:

More function Better access, anything/where/time/how/body Friendly, intuitive interfaces

The business’ desire to: offload data entry to the customer stay in the game create new services/products that exploit the

new possibilities

Page 7: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

But...

need greater efficiency in application development

need to manage complexity

more function+ more flexibility

+ more interoperability = greater complexity

Page 8: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

How can we deal with complexity?

Use of decoupled, encapsulated components (built or acquired)

Code re-use Careful use of patterns Observe standards Even in the host-

based environment, designing systems based on decoupled components, interfaces and standards yielded benefits.Now, the need is even greater.

Page 9: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Services

Account

Achieving more intuitive apps Object Modeling - modeling the real world so that

apps behave more intuitively OO Development Works well with a component-based approach

Customeropens

AccountAccountAccount

contains

ServicesServicesServices

Page 10: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Another trend: Open Source Emergence of world-wide technical

community Consolidation of standards … and the emergence of robust Open

Source components as a serious alternative to DIY

Page 11: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Build or Acquire? Which components do we build?

(Warning: sacred cows on the road ahead! We may hit some of them.)

Page 12: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Build or Acquire? Rule 1

Don’t build infrastructure Your App = your content + business

rules + IP What creates your presence What makes your business unique

Infrastructure = everything else Needs to be solid & reliable But your customer shouldn’t know it’s there

Page 13: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Build or Acquire? Rule 1 …cont Don’t build infrastructure

It’s been done before It may look simple now, but it will grow There are affordable alternatives Future proofing because of standards:

major builders either follow or establish them

Avoid architectural dead-ends IP may stay with individuals Skills availability Support – vendor or worldwide community

Page 14: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Slings & Arrows Hurled At Rule 1 Short term vs. long term perceived costs

(scope expands over time) #8 wire mentality “Not invented here” Available expertise Architectural preferences Our Standards Preclude This Solution Politics

Page 15: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

So, What is Infrastructure? Anatomy of a web app…

…spot the infrastructure

Page 16: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Anatomy of a Web App

1. Server Topology

Also: Systems monitoring Workload management

Page 17: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Anatomy of a Web App

2. App Design

Also: Messaging Utils

You don’t have to build it all yourself.

Page 18: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Rule 2 If what you are doing is getting really

hard, there must be a simpler way. …and it’s probably been solved

before. App/Infrastructure distinction clear? Look to the community (colleagues, fora,

newsgroups, books, Google) Standard not being observed? Check the

next release of the component.

Page 19: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Patterns A Pattern is…

Warning: patterns can become an obsession

One is presented here: Model View Controller

“...a best practice solution to a common recurring problem.”

“It’s all about quality of life.”

Page 20: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

MVC/Component Example: Struts

Page 21: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

MVC (Struts) continued…

Decoupling makes the following easier: Unit testing Adding new UIs (pervasive computing) Changing the DBMS Implementing using components (eg. Struts)

And Basic engine ready to go Get started very quickly

And It’s free

Page 22: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Another Word on Standards “Good” side...

Makes some of the decisions! Future-proofing Ability to grow and take advantage of new

developments Skills availability Speeds up design

“Bad” side… Alphabet soup!!! (J2EE, WSDL, HTML, XML, SOAP,

W3C…) Where to find…? Revisions can affect best practices “Some are more equal than others”

Page 23: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Example: Decision Made!

J2EE standard Web App Folder Structure – so often not followed

Page 24: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

Building Complex Applications…

With components!

Page 25: TechnoPrisoners! Some thoughts on how to avoid becoming one of them Jim Walmsley IT Specialist, IBM August, 2002

References www.theserverside.com/resources/article.jsp?l=J2EE-Deployment

Floyd Marinescu: “EJB Design Patterns” jakarta.apache.org jakarta.apache.org/commons www.w3c.org java.sun.com/j2ee The lego figure-8 knot on the previous page came from:

http://www.lipsons.pwp.blueyonder.co.uk/mathlego.htm