BCS APSG The landscape of enterprise applications

532 views

Published on

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?

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • hey Geoff... nothing significant happen between '65 and '93?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

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

No notes for slide

BCS APSG The landscape of enterprise applications

  1. 1. The Landscape of Enterprise Applications - a personal view Geoff Sharman © Copyright geoffrey.sharman@bcs.org.uk www.dcs.bbk.ac.uk/~geoff/
  2. 2. Typical Web Application? Web servers Application Database Servers Servers Requests from web browsers Member DB Auction DB  Static pages served from web server/content management system  Dynamic pages assembled by applications on application servers2 May 12th 2011 APSG 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?)May 12th 2011 APSG Enterprise Applications 3
  4. 4. Thats Cloud Power?May 12th 2011 APSG Enterprise Applications 4
  5. 5. Whats an Enterprise, or an Enterprise System?May 12th 2011 APSG Enterprise Applications 5
  6. 6. What is a System? Outputs Inputs information information control function energy energy internal organisation, possibly including material sub-systems material Physical, chemical, biological, social systems - real-time dynamic behaviourMay 12th 2011 APSG Enterprise Applications 6
  7. 7. An Enterprise is a System for delivering economic & social outputs Outputs Inputs products, information, services finance Control function information labour, energy internal organisation, possibly including employment, sub-systems materials, financial services returns Related pairs of inputs & outputs are often referred to as transactionsMay 12th 2011 APSG Enterprise Applications 7
  8. 8. Interesting Whats an Enterprise? Large numbers of customers Large numbers of transactions Large financial throughputs Complex behaviour/operations Sustainable operation➔ High scale for an extended periodMay 12th 2011 APSG Enterprise Applications 8
  9. 9. An Enterprise System is the automated part of an enterprise = a real-time model of the enterprise Outputs Inputs products, information, services finance Control function information labour, energy hardware/software employment, Enterprise System materials, financial services returnsMay 12th 2011 APSG 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 May 12th 2011 APSG Enterprise Applications 10
  11. 11. Brief History of Enterprise SystemsMay 12th 2011 APSG 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 1993 – Amazon.com - direct customer service, just-in-time delivery 2001 – Google.com - customised search using large amounts of data 2008 – Apple iPhone - mobile applicationsMay 12th 2011 APSG Enterprise Applications 12
  13. 13. Getting Closer to the Customer 6 5 4 System Type 3 1=Batch, 2=Online, 3=Network, 4=Web, 5=Social/mobile 2 1 0 1960s 1970s 1980s 1990s 2000sMay 12th 2011 APSG Enterprise Applications 13
  14. 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, mobileMay 12th 2011 APSG Enterprise Applications 14
  15. 15. Programming ParadigmsMay 12th 2011 APSG Enterprise Applications 15
  16. 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 usersMay 12th 2011 APSG Enterprise Applications 16
  17. 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” filesMay 12th 2011 APSG Enterprise Applications 17
  18. 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 modelMay 12th 2011 APSG Enterprise Applications 18
  19. 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.May 12th 2011 APSG Enterprise Applications 19
  20. 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 needMay 12th 2011 APSG Enterprise Applications 20
  21. 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 conversationMay 12th 2011 APSG Enterprise Applications 21
  22. 22. Current Enterprise System ChallengesMay 12th 2011 APSG Enterprise Applications 22
  23. 23. Enterprise Business ChallengesEnterprise business people care about twoprimary 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 customersMay 12th 2011 APSG Enterprise Applications 23
  24. 24. 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 nextMay 12th 2011 APSG Enterprise Applications 24
  25. 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 usesMay 12th 2011 APSG Enterprise Applications 25
  26. 26. 2 Typical M Architecture 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-BusinessMay 12th 2011 APSG Enterprise Applications 26
  27. 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 computationMay 12th 2011 APSG Enterprise Applications 27
  28. 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 processingMay 12th 2011 APSG Enterprise Applications 28
  29. 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 GPRSMay 12th 2011 APSG Enterprise Applications 29
  30. 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 themMay 12th 2011 APSG Enterprise Applications 30

×