bcs apsg the landscape of enterprise applications

30
The Landscape of Enterprise Applications - a personal view Geoff Sharman © Copyright [email protected] www.dcs.bbk.ac.uk/~geoff/

Upload: geoff-sharman

Post on 17-Jun-2015

273 views

Category:

Technology


2 download

DESCRIPTION

It's a cliché that modern enterprise applications are simply web applications. But is that the whole truth? And if it isn't, what are all the pieces of an enterprise application and how do they fit together? How can we continue to use older technologies within these applications and how might we exploit new technologies in the future? What new challenges do enterprises face in the 21st Century and how might they affect the design of applications and programming systems?

TRANSCRIPT

Page 1: BCS APSG The landscape of enterprise applications

The Landscape of Enterprise Applications

- a personal view

Geoff Sharman

© Copyright [email protected]/~geoff/

Page 2: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 2

Typical Web Application?

Static pages served from web server/content management system

Dynamic pages assembled by applications on application servers

2

Member DB

Auction DB

Web servers

Requests from web browsers

Application Servers

Database Servers

Page 3: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 3

Did you do any of these today?Did you do any of these today?

Buy something in a supermarket?Buy a ticket for travel or entertainment?Make a telephone call (mobile or fixed)?Use a cash machine or debit card?Pay for something with a credit card?Use electricity, gas or water?

The chances are you used a traditional online transaction system (running on a mainframe?)

Page 4: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 4

That's Cloud Power?

Page 5: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 5

What's an Enterprise, or an Enterprise System?

Page 6: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 6

What is a System?

InputsOutputs

information

energy

material

information

energy

material

internal organisation,possibly including

sub-systems

Physical, chemical, biological, social systems - real-time dynamic behaviour

control function

Page 7: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 7

An Enterprise is a Systemfor delivering economic & social outputs

InputsOutputs

products,services

labour,energy

materials,services

information,finance

information

employment,financial returns

Control function

Related pairs of inputs & outputs are often referred to as transactions

internal organisation,possibly including

sub-systems

Page 8: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 8

InterestingWhat's an Enterprise?

Large numbers of customers Large numbers of transactions Large financial throughputs Complex behaviour/operations Sustainable operation

➔ High scale for an extended period

Page 9: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 9

An Enterprise Systemis the automated part of an enterprise= a real-time model of the enterprise

InputsOutputs

products,services

labour,energy

materials,services

information,finance

information

employment,financial returns

Control function

hardware/softwareEnterprise System

Page 10: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 10

Where would you find an ES? Probably not here: (primary industry, 5% of economy)

Agriculture, fisheries, forestry, water extraction Mining, oil & gas extraction

Possibly here: (secondary industry, 40% of economy)

Construction, utilities Transport, distribution, communications Manufacturing (discrete & continuous)

Probably here: (tertiary industry, 55% of the economy)

Financial & business services, media, retail Education, healthcare, tourism, entertainment Public admin10

Page 11: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 11

Brief History of Enterprise Systems

Page 12: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 12

Pioneers of Enterprise Systems 1952 – Joe Lyons & Co. Leo system

- batch accounting & payroll operations 1965 – American Airlines Sabre system

- online flight reservations & check in 1993 – Amazon.com

- direct customer service, just-in-time delivery 2001 – Google.com

- customised search using large amounts of data 2008 – Apple iPhone

- mobile applications

Page 13: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 13

Getting Closer to the Customer

1960s 1970s 1980s 1990s 2000s0

1

2

3

4

5

6

System Type 1=Batch, 2=Online, 3=Network, 4=Web, 5=Social/mobile

Page 14: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 14

What were the Key Innovations? 1950s – main storage (delay lines, ferrite cores),

secondary storage (magnetic tape), batch job scheduler

1960s – operating system, direct access storage, database management, time sharing terminals

1970s – TP monitor, relational database 1980s – personal computer, networking 1990s – World Wide Web 2000s – search engine, social networking, mobile

Page 15: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 15

Programming Paradigms

Page 16: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 16

Time Sharing/Conversational ● At logon time, operating system allocates:

● Memory address space for application● Operating system process● Files, communications channels, etc.● These remain dedicated to user until logoff

● Paradigm is widely used, but:● No sharing of resources● Not scalable beyond few hundred users

Page 17: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 17

TP Monitor PseudoConversations● TP Monitor acquires & retains shared resources

● Applications, memory, processes, threads, files, databases, communication channels, etc.

● On receipt of user transaction request, provides concurrent access to resources for application

● Frees resources as soon as output message sent

● Highly scalable to 10s of thousands of users● Requires stateless application programming● Conversation state held in “scratchpad” files

Page 18: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 18

Representational State Transfer● Underlying paradigm for Web hypertext transfers

● Commonly abbreviated as REST● Web servers manage network & provide

concurrent access● Defines stateless clients for rendering data● Highly scalable to 10s of thousands of users

● Does not define how to build update applications on the Web

● Disallows “cookies” - no scratchpad● Does not define server application model

Page 19: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 19

Google Applications● Underlying paradigm for Google search and

other applications● Uses GAE (Google App engine)● Requires stateless clients● Concurrent access to “scratchpad” storage via

GFS/BigTable● Highly scalable to 10s of thousands of users

● Especially suitable for applications using read-only data, e.g. search data, maps, etc.

Page 20: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 20

Why do these Paradigms Work? All these paradigms embody the many-to-one

relationship between customers and the enterprise

The TP, Restful, & Google paradigms provide scalable concurrency & enable the enterprise to exploit economies of scale

None of them is a complete description of what modern enterprise systems need

Page 21: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 21

What Paradigm is Needed?● Stateless applications provide the highest

scalability and work well for read only requests

● But commercial applications, e.g. web shopping, need conversation state & concurrent update

● Use HTTP because it supports any-client-to-any server, unlike object-based protocols

● Hold state on client or replicated server file system● Collect updates that form part of a transaction● Permanently save data at end of conversation

Page 22: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 22

Current Enterprise System Challenges

Page 23: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 23

Enterprise Business Challenges

Enterprise business people care about two primary objectives:● Reducing costs:

● automating/eliminating internal processes● reducing operating costs for enterprise systems● reducing ownership costs for enterprise systems

● Increasing revenue:

● Winning new customers● Retaining existing customers● Getting more business from existing customers

Page 24: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 24

Enterprise System Challenges

1) Multi-channel applications- acting consistently to the customer

2) Multi-business service- providing multiple offers consistently

3) Effective customer knowledge- acting more intelligently to the customer

4) Effective market knowledge- foreseeing what customers will want next

Page 25: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 25

Multi-Channel Applications Many enterprise systems are designed to

support particular sales channels, eg.: Store checkout systems Kiosk/ticketing systems Call centre systems Web based systems Mobile systems

Business offer may depend on channel, but Applications should treat the customer

consistently, whichever channel he/she uses

Page 26: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 26

Presentation /Channel server(s)- Static/ Dynamic web pages- Portals- Channel specific

Integration server- Tight coupling- Loose coupling- Stand-in processing- Flow ctrl/compensation

Line of businessApplication and Data server(s)

sync msgsasync msgs

sync msgs

Typical M2 Architecture

M2 = Multi-Channel, Multi-Business

Page 27: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 27

Customer Knowledge● Many web systems allow customer to explore

options before & after a transaction:● high “browse to buy” ratio in web shopping● evaluations of product, service, etc.

● If we identify the customer, we can study:

● search patterns● history of actual transactions● customer likes & dislikes

● May enable better offers to the customer

● need more data & may require real time parallel computation

Page 28: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 28

Market Knowledge● Many enterprise systems collect data about a

mass of customer transactions:● Collected/refined in data warehouse● Linked with tools for analytics / Bus Intelligence● Used to produce periodic reports & analyses

● This process may be ineffective:

● Too slow/costly for business needs● Only structured data – much unstructured data● New methods use very large data sets

● Best practice uses highly parallel processing

Page 29: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 29

“Highly Parallel” Processing● Google is the best known exponent

● Many processes crawling the Web in parallel● Combine results using MapReduce technique● Store results in Google File System● Effectively substitutes concurrency for parallelism

● Also widely used in scientific applications:

● e.g. SETI @Home used subscriber PCs

● IBM “Blue Gene” protein modelling project● 4K processors generated 10 μsec simulation● Uses hardware cluster plus GPRS

Page 30: BCS APSG The landscape of enterprise applications

May 12th 2011 APSG Enterprise Applications 30

Summary● When building an Enterprise System, we are

building a model of (part of) the enterprise:● Model must be real time and scalable● Customer can use anywhere, anytime, any device● Access any business offering consistently● Know and respond intelligently to each customer

● Meta-Enterprise System should analyse system &

aggregate behaviour of customers● Detect trends and respond to them