The Landscape of Enterprise         Applications     - a personal view        Geoff Sharman       © geoffrey.sharman@bcs.o...
Enterprise Apps = Web Apps?            Web servers         Application         Database                                 Se...
Did you do any of these today?     Buy something in a supermarket?     Buy a ticket for travel or entertainment?     Make ...
Hybrid Enterprise Systems ●     Many systems have an Internet front end      connected to a applications and data running ...
What is an Enterprise, or an       Enterprise System?March 1st 2012   Enterprise Applications   5
What is a System?    Inputs                                                                  Outputs   information        ...
An Enterprise is a System     for delivering economic & social outputs    Inputs                                          ...
Interesting          What is an Enterprise?    Large numbers of customers    Large numbers of transactions    Large fin...
An Enterprise System     is the automated part of an enterprise = a real-time model of (part of) the enterprise    Inputs ...
Where would you find an ES?         Probably not here:             (primary industry, 5% of economy)             Agricul...
Brief History of Enterprise                SystemsMarch 1st 2012   Enterprise Applications   11
Pioneers of Enterprise Systems    1952 – Joe Lyons & Co. Leo system    - batch accounting & payroll operations    1965 –...
Enterprise (Systems) Topology            All enterprises have a many-to-one relationship with their            customers –...
Getting Closer to the Customer        6        5        4                                                           System...
What were the Key Innovations?    1950s – main storage (delay lines, ferrite cores),     secondary storage (magnetic tape...
How do you write applications   for Enterprise Systems?March 1st 2012   Enterprise Applications   16
Programming ParadigmsEnterprise applications have to serve large numbers of users concurrentlyThis requires lots of progra...
Time Sharing/Conversational    At logon time, operating system allocates:                     Memory address space for u...
Transaction Processing Monitor    Monitor acquires & retains shared resources                     Applications, memory, ...
What are Stateless Applications?REQUEST: find information about “flights”RESPONSE: list of links to flight web sitesTRANSA...
Representational State Transfer     Underlying paradigm for Web hypertext    applications                   Commonly abb...
Google Applications     Underlying paradigm for Google search and    other applications                   Uses GAE (Goog...
Why do these Paradigms Work?    All these paradigms embody the many-to-one    relationship between customers and the    e...
What Paradigm is Needed?    Stateless applications provide the highest    scalability and work well for read only request...
Current Enterprise System              ChallengesMarch 1st 2012   Enterprise Applications   25
Enterprise Business ChallengesBusiness people care about two main objectives:    Reducing costs:                     aut...
Enterprise System Challenges1) Multi-channel applications   - acting consistently to the customer2) Multi-business service...
Multi-Channel Applications    Many enterprise systems are designed to    support particular sales channels, eg.:        ...
Typical M Architecture        2                                                              sync msgs                    ...
Customer Knowledge     Many web systems allow customer to explore     options before & after a transaction:             ...
Market Knowledge    Many enterprise systems collect data about a    mass of customer transactions:                     C...
“Highly Parallel” Processing    Google is the best known exponent                     Many processes crawling the Web in...
Summary     When building an Enterprise System, we are    building a model of (part of) the enterprise:                 ...
Upcoming SlideShare
Loading in …5
×

Landscape of enterprise applications

949 views

Published on

An overview of the environment in which enterprise applications operate and some architectural factors affecting their design.

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
949
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Landscape of enterprise applications

  1. 1. The Landscape of Enterprise Applications - a personal view Geoff Sharman © geoffrey.sharman@bcs.org www.dcs.bbk.ac.uk/~geoff/
  2. 2. Enterprise Apps = Web Apps? Web servers Application Database Servers ServersRequestsfrom webbrowsers Member DB Auction DB Static pages served from web server/content management system Dynamic pages assembled by applications on application serversMarch 1st 2012 Enterprise Applications 2
  3. 3. 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?) → Which had nothing to do with the InternetMarch 1st 2012 Enterprise Applications 3
  4. 4. Hybrid Enterprise Systems ● Many systems have an Internet front end connected to a applications and data running on an online transaction system back end, eg. – Airline flight bookings – Utility billing systems – Supermarket home delivery systems – Internet banking – Etc.March 1st 2012 Enterprise Applications 4
  5. 5. What is an Enterprise, or an Enterprise System?March 1st 2012 Enterprise Applications 5
  6. 6. What is a System? Inputs Outputs information information control function energy energy internal organisation, possibly including material sub-systems material Physical, chemical, biological, social systems - real-time dynamic behaviourMarch 1st 2012 Enterprise Applications 6
  7. 7. An Enterprise is a System for delivering economic & social outputs Inputs Outputs Information, products, finance services Control function Labour, information energy internal organisation, possibly including Materials sub-systems employment, ,services financial returns Related pairs of inputs & outputs are often referred to as transactionsMarch 1st 2012 Enterprise Applications 7
  8. 8. Interesting What is an Enterprise? Large numbers of customers Large numbers of transactions Large financial throughputs Complex behaviour/operations Sustainable operation High scale for an extended periodMarch 1st 2012 Enterprise Applications 8
  9. 9. An Enterprise System is the automated part of an enterprise = a real-time model of (part of) the enterprise Inputs Outputs Information, products, finance services Control function Labour, information energy hardware/software Materials, Enterprise System employment, services financial returns automatedMarch 1st 2012 Enterprise Applications 9
  10. 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 March 1st 2012 Enterprise Applications 10
  11. 11. Brief History of Enterprise SystemsMarch 1st 2012 Enterprise Applications 11
  12. 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 199x – Amazon.com, eBay.com - direct customer service, just-in-time delivery 2001 – Google.com - customised search using large amounts of data 2008 – Apple iPhone - mobile applicationsMarch 1st 2012 Enterprise Applications 12
  13. 13. Enterprise (Systems) Topology All enterprises have a many-to-one relationship with their customers – although the customer would like it to be one-to-one! Premier Customer Representative Premier Flyers F.F. AirlineReservations Routing Customer function RepresentativeFrequent FlyerMembers Regular Customer Representative Regular Members
  14. 14. Getting Closer to the Customer 6 5 4 System Type 1=Batch, 2=Online, 3 3=Network, 4=Web, 5=Social/mobile 2 1 0 1960s 1970s 1980s 1990s 2000sMarch 1st 2012 Enterprise Applications 14
  15. 15. 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, mobileMarch 1st 2012 Enterprise Applications 15
  16. 16. How do you write applications for Enterprise Systems?March 1st 2012 Enterprise Applications 16
  17. 17. Programming ParadigmsEnterprise applications have to serve large numbers of users concurrentlyThis requires lots of program code to support communications, scheduling, concurrency and data accessProgrammers cant write all this code for each new application, so they use frameworks based on a number of programming paradigms (aka design patterns)March 1st 2012 Enterprise Applications 17
  18. 18. Time Sharing/Conversational At logon time, operating system allocates:  Memory address space for user application  Operating system process  Files, communications channels, etc.  These remain dedicated to user until logoff Paradigm is widely used in programming development systems, but:  Limited sharing of resources  Not scalable beyond a few hundred users  So not useful for production systemsMarch 1st 2012 Enterprise Applications 18
  19. 19. Transaction Processing Monitor Monitor acquires & retains shared resources  Applications, memory, processes, threads, files, databases, communication channels, etc.  On receipt of transaction request, provides concurrent access to resources  Frees resources when output message sent  So application is one-in-one-out, or implements a “pseudo conversation” Highly scalable to tens of thousands of users  Requires stateless application programming  Conversation state held in “scratchpad” filesMarch 1st 2012 Enterprise Applications 19
  20. 20. What are Stateless Applications?REQUEST: find information about “flights”RESPONSE: list of links to flight web sitesTRANSACTION: request + responseFINAL STATE: all memory of transaction lost; next request starts with a clean sheetPSEUDO CONVERSATION: chain of transactions linked by scratchpad dataMarch 1st 2012 Enterprise Applications 20
  21. 21. Representational State Transfer Underlying paradigm for Web hypertext applications  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 Pure REST does not define how to build update applications on the Web, so we have to modify  Disallows “cookies” - no scratchpad  Does not define server application modelMarch 1st 2012 Enterprise Applications 21
  22. 22. 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.March 1st 2012 Enterprise Applications 22
  23. 23. Why do these Paradigms Work? All these paradigms embody the many-to-one relationship between customers and the enterprise The TP, REST, & Google paradigms provide scalable concurrency & enable the enterprise to exploit economies of scale But none of them is a complete recipe for what modern enterprise systems needMarch 1st 2012 Enterprise Applications 23
  24. 24. 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 conversationMarch 1st 2012 Enterprise Applications 24
  25. 25. Current Enterprise System ChallengesMarch 1st 2012 Enterprise Applications 25
  26. 26. Enterprise Business ChallengesBusiness people care about two main 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 customersMarch 1st 2012 Enterprise Applications 26
  27. 27. Enterprise System Challenges1) Multi-channel applications - acting consistently to the customer2) Multi-business service - providing multiple offers consistently3) Effective customer knowledge - acting more intelligently to the customer4) Effective market knowledge - foreseeing what customers will want nextMarch 1st 2012 Enterprise Applications 27
  28. 28. 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 usesMarch 1st 2012 Enterprise Applications 28
  29. 29. Typical M Architecture 2 sync msgs async msgs sync msgs Line of business Presentation / Integration server Application and Channel server(s) - Tight coupling Data server(s) - Static/ Dynamic web - Loose coupling pages - Stand-in processing - Portals - Flow ctrl/compensation - Channel specific M2 = Multi-Channel, Multi-BusinessMarch 1st 2012 Enterprise Applications 29
  30. 30. 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 & real time parallel computationMarch 1st 2012 Enterprise Applications 30
  31. 31. 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 processingMarch 1st 2012 Enterprise Applications 31
  32. 32. “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  Substitutes concurrency for parallelism Also widely used in scientific applications, eg: – SETI @Home used subscriber PCs – IBM “Blue Gene” protein modelling project  4K processors generated 10 μsec simulation  Uses hardware cluster plus GPRSMarch 1st 2012 Enterprise Applications 32
  33. 33. 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 Also need a “Meta-Enterprise System” (i.e. control function) which analyses ES & the behaviour of customers  Detect trends and respond to themMarch 1st 2012 Enterprise Applications 33

×