SlideShare a Scribd company logo
1/25/12 1
6. Application Server
Issues for the Project
CSEP 545 Transaction Processing
for E-Commerce
Philip A. Bernstein
Copyright ©2012 Philip A. Bernstein
2
Requests
• A request is a message that describes a unit of work for the
system to execute.
• An application server coordinates the flow of requests
between message sources (displays, applications, etc.) and
application programs that run requests as transactions.
• Basic control flow:
– Translate the display input (form/menu selection, etc.)
into a standard-format request
– Send the request to the appropriate server based on the
transaction type in the request header
– Start the transaction
– Invoke the transaction type’s application program
– Commit and send the transaction’s output to the display
1/25/12
3
Application Server Architecture
• App server should make the previous control flow scale up
• Bold lines carry request messages
Web Server
Request Controller
Transaction Server Transaction Server
intranet other TP
systems
2
3 4
5
Resource Manager
1
6
Resource Manager
1/25/12
4
Application Server Components
• Web Browser
– A smart device, with forms, menus, input validation
• Web server
– Performs front-end work, e.g., security, data caching, ….
– “Calls” the web page associated with the URL, which in turn
calls a request controller
• Request controller (= Workflow Controller in the project)
– Calls Start, Commit, and Abort
– App logic that transforms the request (automatic loan payment,
money transfer) into calls on basic objects (loan, account).
• Sometimes called business rules.
• Transaction server
– Business objects (customer, account, loan, teller)
• Resource Manager – usually a database (DB) system
1/25/12
5
Project’s Process Architecture 1
Web Browser
Web Server
Request Controller
Transaction Server
Resource Manager
Client
Workflow Controller
Resource Manager
1/25/12
6
Request Controller
• For the most part, Request Controllers and
Transaction Servers are just plain old server programs
• The features that differentiate a Request Controller
are that it
– Brackets transactions (issues Start, Commit, and Abort),
so that transaction server procedures can execute either as
independent transactions or as steps in larger transactions
– Reports Commits to the client (e.g., web server)
– Handles Aborts and other failures (e.g., re-runs the transaction)
– Does not access the DB system, so it need not be close to the
DB system (i.e., Resource Manager)
1/25/12
7
Transaction Server
• The features that differentiate a Transaction Server are
the inverse of the Workflow Controller, namely that it
– Does not issue Start, Commit, and Abort (so it can be called
either as an independent transaction or as a step in larger
transaction)
– Does not talk directly to the client (e.g., Web Server)
– Can access the DB system.
• In addition, it can call other transaction servers.
• Often, some transaction server code runs as stored
procedures inside the DB system.
– So combining the transaction server and resource manager in
the project isn’t really an oversimplification.
1/25/12
8
Transaction Manager (TM)
• The TM is the server that supports Start, Commit and
Abort.
• It implements two-phase commit (2PC).
• This is a major feature of many application servers.
– 10 years ago, it was the major feature (TM + T-RPC).
– Supports 2PC across different RMs.
– So it’s useful to have a TM in the application server even
though DB products implement 2PC themselves.
1/25/12
9
Project’s Process Architecture 2
Web Browser
Web Server
Request controller
Transaction Server
Resource Manager
Client
Workflow Controller
Resource Manager
Transaction
Manager
Start, Commit,
Abort
2PC
1/25/12
10
Remote Procedure Call (RPC)
• Within a system or intranet, RPC is the most popular form
of inter-process communication
• A program calls a remote procedure (in another process) the
same way it would call a local procedure
– This simplifies the message protocol. It’s always a call message
followed by a return message.
– It hides certain communications errors.
– It automates the work of marshaling parameters into and out of
the call and return messages.
• There are many implementations of the concept
– RMI, DCOM, CORBA/IIOP, HTTP, SOAP, ODBC, ….
• In the project, all inter-process communications is via RPC.
1/25/12
11
Transactional RPC
• Transactional RPC is an RPC protocol that implements
the necessary plumbing to cope with a caller and/or callee
that are running a transaction.
• Ideally, Start returns a transaction ID that’s hidden from
the caller in a transaction context
– Transactional RPC passes that transaction context as a hidden
parameter. It’s an easier programming model and avoids errors.
– When a transaction first arrives at a callee C, C needs to enlist
with the local transaction manager (TM), so the TM knows to
call C during two-phase commit.
– Also, C needs to execute the call in the context of the
transaction that called it.
1/25/12
12
Transactional RPC in the Project
• You are implementing transactional RPC in the project.
– In steps 6 and 7.
– But the transaction context parameter is explicit (not hidden).
1/25/12
13
Project’s Process Architecture
(revisited)
Web Browser
Web Server
Request controller
Transaction Server
Resource Manager
Client
Workflow Controller
Resource Manager
Transaction
Manager
Start, Commit,
Abort
2PC
enlist
1/25/12
14
Partitioning Servers
• To add system capacity, add server machines.
• Sometimes, you can just relocate some server processes
to different machines.
• But if an individual server process overloads one
machine, then you need to partition the process.
– Example – flights, cars, and hotel rooms are managed by one
server process. Later, you partition them in separate processes.
– This implies the WFC has to direct its RPC calls based on
resource type
– To facilitate such changes, the mapping of resource name to
server name can be made table-driven.
• This scenario is developed in step (7) of the project,
where multiple RMs are required.
1/25/12
15
Parameter-Based Routing
• Sometimes, it’s not enough to partition by resource type,
because a resource is too popular
– Example: flights
• The solution is to partition the popular resource based on
value ranges
– Example – flight number 1-1000 on Server A, flight number
1000-2000 on Server B, etc.
– This implies that a request controller has to direct its calls based
on parameter value (e.g. flight number)
– To facilitate such changes, the mapping of parameter range to
server name can be made table-driven.
• This is a possible project extension (not required)
1/25/12
16
Summary of Concepts
• Request Controller vs. Transaction Server
• Remote Procedure Call (RPC)
• Transactional RPC
• Transaction Manager
• Partitioning Servers
• Parameter-Based Routing
• There’s a lot more to say about Application Servers
and other transactional middleware. We’ll return to
the topic in a later lecture.
1/25/12

More Related Content

What's hot (19)

Operations Support Features
Operations Support FeaturesOperations Support Features
Operations Support Features
Diksha Technologies
 
Comstice Desktop Agent for Cisco Finesse
Comstice Desktop Agent for Cisco FinesseComstice Desktop Agent for Cisco Finesse
Comstice Desktop Agent for Cisco Finesse
yzorlu
 
Classical Migration V/S DMO approach
Classical Migration V/S DMO approachClassical Migration V/S DMO approach
Classical Migration V/S DMO approach
Amit Lal
 
Voxeo Summit Day 2 - Voxeo CXP for business users
Voxeo Summit Day 2 - Voxeo CXP for business usersVoxeo Summit Day 2 - Voxeo CXP for business users
Voxeo Summit Day 2 - Voxeo CXP for business users
Voxeo Corp
 
Aaron Robinson by COLLABERA True value edition LNKEDIN
Aaron Robinson by COLLABERA  True value edition LNKEDINAaron Robinson by COLLABERA  True value edition LNKEDIN
Aaron Robinson by COLLABERA True value edition LNKEDIN
AARON ROBINSON
 
Out of band signaling
Out of band signalingOut of band signaling
Out of band signaling
Shubhamg Gupta
 
Transport Management System
Transport Management SystemTransport Management System
Transport Management System
WebXpress.IN
 
What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities
Alithya
 
Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager
Eduardo Castro
 
A joint effort of the storage industry
A joint effort of the storage industryA joint effort of the storage industry
A joint effort of the storage industry
Calvin Chen
 
Transaction Processing monitor
Transaction Processing monitorTransaction Processing monitor
Transaction Processing monitor
District Administration
 
Tips and Tricks in Kyriba
Tips and Tricks in KyribaTips and Tricks in Kyriba
Tips and Tricks in Kyriba
Kyriba Corporation
 
Getting started with JBPM
Getting started with JBPMGetting started with JBPM
Getting started with JBPM
Girish Bapat
 
Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...
Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...
Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...
finitsolutions
 
ICON UK '13 - 15 minutes Upgrades and Other Things
ICON UK '13 - 15 minutes Upgrades and Other ThingsICON UK '13 - 15 minutes Upgrades and Other Things
ICON UK '13 - 15 minutes Upgrades and Other Things
panagenda
 
Partners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration PublicPartners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration Public
walterhalvorsen
 
ИТАН - ARSIMA Projects
ИТАН - ARSIMA ProjectsИТАН - ARSIMA Projects
ИТАН - ARSIMA Projects
Martin van Wunnik
 
Madhan Kumar-SAP(Change Request and Release Management)SOLMAN
Madhan Kumar-SAP(Change Request and Release Management)SOLMANMadhan Kumar-SAP(Change Request and Release Management)SOLMAN
Madhan Kumar-SAP(Change Request and Release Management)SOLMAN
Madhan Kumar
 
Collaborate
CollaborateCollaborate
Collaborate
svanderburg
 
Comstice Desktop Agent for Cisco Finesse
Comstice Desktop Agent for Cisco FinesseComstice Desktop Agent for Cisco Finesse
Comstice Desktop Agent for Cisco Finesse
yzorlu
 
Classical Migration V/S DMO approach
Classical Migration V/S DMO approachClassical Migration V/S DMO approach
Classical Migration V/S DMO approach
Amit Lal
 
Voxeo Summit Day 2 - Voxeo CXP for business users
Voxeo Summit Day 2 - Voxeo CXP for business usersVoxeo Summit Day 2 - Voxeo CXP for business users
Voxeo Summit Day 2 - Voxeo CXP for business users
Voxeo Corp
 
Aaron Robinson by COLLABERA True value edition LNKEDIN
Aaron Robinson by COLLABERA  True value edition LNKEDINAaron Robinson by COLLABERA  True value edition LNKEDIN
Aaron Robinson by COLLABERA True value edition LNKEDIN
AARON ROBINSON
 
Transport Management System
Transport Management SystemTransport Management System
Transport Management System
WebXpress.IN
 
What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities What's in the Box?: An Intro to HFM System Utilities
What's in the Box?: An Intro to HFM System Utilities
Alithya
 
Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager Datawarehouse and reporting in service manager
Datawarehouse and reporting in service manager
Eduardo Castro
 
A joint effort of the storage industry
A joint effort of the storage industryA joint effort of the storage industry
A joint effort of the storage industry
Calvin Chen
 
Getting started with JBPM
Getting started with JBPMGetting started with JBPM
Getting started with JBPM
Girish Bapat
 
Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...
Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...
Finit - Breaking Through the Cloud Part II: FCCS, Closing in on Full Parity w...
finitsolutions
 
ICON UK '13 - 15 minutes Upgrades and Other Things
ICON UK '13 - 15 minutes Upgrades and Other ThingsICON UK '13 - 15 minutes Upgrades and Other Things
ICON UK '13 - 15 minutes Upgrades and Other Things
panagenda
 
Partners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration PublicPartners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration Public
walterhalvorsen
 
Madhan Kumar-SAP(Change Request and Release Management)SOLMAN
Madhan Kumar-SAP(Change Request and Release Management)SOLMANMadhan Kumar-SAP(Change Request and Release Management)SOLMAN
Madhan Kumar-SAP(Change Request and Release Management)SOLMAN
Madhan Kumar
 

Viewers also liked (14)

01 whirlwind tour
01 whirlwind tour01 whirlwind tour
01 whirlwind tour
ashish61_scs
 
19 structured files
19 structured files19 structured files
19 structured files
ashish61_scs
 
4 db recovery
4 db recovery4 db recovery
4 db recovery
ashish61_scs
 
Jeopardy (cecilio)
Jeopardy (cecilio)Jeopardy (cecilio)
Jeopardy (cecilio)
Cecilio Dolores
 
Ibrahim Thesis
Ibrahim ThesisIbrahim Thesis
Ibrahim Thesis
Ibrahim Bhamji
 
The buransh mahotsav_report
The buransh mahotsav_report The buransh mahotsav_report
The buransh mahotsav_report
Prasanna Kapoor
 
14 scaleabilty wics
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wics
ashish61_scs
 
04 transaction models
04 transaction models04 transaction models
04 transaction models
ashish61_scs
 
Digital: An Inflection Point for Mankind
Digital: An Inflection Point for MankindDigital: An Inflection Point for Mankind
Digital: An Inflection Point for Mankind
Bernard Panes
 
Solution6.2012
Solution6.2012Solution6.2012
Solution6.2012
ashish61_scs
 
10 Ways to be a great Solution Architect
10 Ways to be a great Solution Architect10 Ways to be a great Solution Architect
10 Ways to be a great Solution Architect
Bernard Panes
 
Assignment.1
Assignment.1Assignment.1
Assignment.1
ashish61_scs
 
Solution8 v2
Solution8 v2Solution8 v2
Solution8 v2
ashish61_scs
 
Mostafa Wael Farouk -Techno-Functional
Mostafa Wael Farouk -Techno-FunctionalMostafa Wael Farouk -Techno-Functional
Mostafa Wael Farouk -Techno-Functional
Mostafa Wael
 
19 structured files
19 structured files19 structured files
19 structured files
ashish61_scs
 
The buransh mahotsav_report
The buransh mahotsav_report The buransh mahotsav_report
The buransh mahotsav_report
Prasanna Kapoor
 
14 scaleabilty wics
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wics
ashish61_scs
 
04 transaction models
04 transaction models04 transaction models
04 transaction models
ashish61_scs
 
Digital: An Inflection Point for Mankind
Digital: An Inflection Point for MankindDigital: An Inflection Point for Mankind
Digital: An Inflection Point for Mankind
Bernard Panes
 
10 Ways to be a great Solution Architect
10 Ways to be a great Solution Architect10 Ways to be a great Solution Architect
10 Ways to be a great Solution Architect
Bernard Panes
 
Mostafa Wael Farouk -Techno-Functional
Mostafa Wael Farouk -Techno-FunctionalMostafa Wael Farouk -Techno-Functional
Mostafa Wael Farouk -Techno-Functional
Mostafa Wael
 

Similar to 5 application serversforproject (20)

8 application servers_v2
8 application servers_v28 application servers_v2
8 application servers_v2
ashish61_scs
 
1 introduction
1 introduction1 introduction
1 introduction
ashish61_scs
 
Introduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
Attaullah Hazrat
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
koolkampus
 
VMworld 2013: Performance Management of Business Critical Applications using ...
VMworld 2013: Performance Management of Business Critical Applications using ...VMworld 2013: Performance Management of Business Critical Applications using ...
VMworld 2013: Performance Management of Business Critical Applications using ...
VMworld
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classes
sapehsit
 
Introduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptxIntroduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptx
LEENASAHU42
 
Client-Facing Web E-Trading Platforms
Client-Facing  Web E-Trading Platforms Client-Facing  Web E-Trading Platforms
Client-Facing Web E-Trading Platforms
Nati Shalom
 
SAP BASIS Simplified Learning with End to End
SAP BASIS Simplified Learning with End to EndSAP BASIS Simplified Learning with End to End
SAP BASIS Simplified Learning with End to End
nagaraj2004811
 
Client server
Client serverClient server
Client server
National Institute of Biologics
 
09-01-services-slides.pdf for educations
09-01-services-slides.pdf for educations09-01-services-slides.pdf for educations
09-01-services-slides.pdf for educations
katariraju71
 
Software artitchteure
Software artitchteureSoftware artitchteure
Software artitchteure
ssusere50573
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
veehikle
 
Chapter 3-Processes.ppt
Chapter 3-Processes.pptChapter 3-Processes.ppt
Chapter 3-Processes.ppt
sirajmohammed35
 
Bottlenecks exposed
Bottlenecks exposedBottlenecks exposed
Bottlenecks exposed
Vikas Singh
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
Amit rai Raaz
 
1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
KalsoomTahir2
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt
eddielyndacanay0
 
Spca2014 harbar workflow
Spca2014 harbar workflowSpca2014 harbar workflow
Spca2014 harbar workflow
NCCOMMS
 
8 application servers_v2
8 application servers_v28 application servers_v2
8 application servers_v2
ashish61_scs
 
Introduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
Attaullah Hazrat
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
koolkampus
 
VMworld 2013: Performance Management of Business Critical Applications using ...
VMworld 2013: Performance Management of Business Critical Applications using ...VMworld 2013: Performance Management of Business Critical Applications using ...
VMworld 2013: Performance Management of Business Critical Applications using ...
VMworld
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classes
sapehsit
 
Introduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptxIntroduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptx
LEENASAHU42
 
Client-Facing Web E-Trading Platforms
Client-Facing  Web E-Trading Platforms Client-Facing  Web E-Trading Platforms
Client-Facing Web E-Trading Platforms
Nati Shalom
 
SAP BASIS Simplified Learning with End to End
SAP BASIS Simplified Learning with End to EndSAP BASIS Simplified Learning with End to End
SAP BASIS Simplified Learning with End to End
nagaraj2004811
 
09-01-services-slides.pdf for educations
09-01-services-slides.pdf for educations09-01-services-slides.pdf for educations
09-01-services-slides.pdf for educations
katariraju71
 
Software artitchteure
Software artitchteureSoftware artitchteure
Software artitchteure
ssusere50573
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
veehikle
 
Bottlenecks exposed
Bottlenecks exposedBottlenecks exposed
Bottlenecks exposed
Vikas Singh
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
Amit rai Raaz
 
1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
KalsoomTahir2
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt
eddielyndacanay0
 
Spca2014 harbar workflow
Spca2014 harbar workflowSpca2014 harbar workflow
Spca2014 harbar workflow
NCCOMMS
 

More from ashish61_scs (20)

7 concurrency controltwo
7 concurrency controltwo7 concurrency controltwo
7 concurrency controltwo
ashish61_scs
 
Transactions
TransactionsTransactions
Transactions
ashish61_scs
 
22 levine
22 levine22 levine
22 levine
ashish61_scs
 
21 domino mohan-1
21 domino mohan-121 domino mohan-1
21 domino mohan-1
ashish61_scs
 
20 access paths
20 access paths20 access paths
20 access paths
ashish61_scs
 
18 philbe replication stanford99
18 philbe replication stanford9918 philbe replication stanford99
18 philbe replication stanford99
ashish61_scs
 
17 wics99 harkey
17 wics99 harkey17 wics99 harkey
17 wics99 harkey
ashish61_scs
 
16 greg hope_com_wics
16 greg hope_com_wics16 greg hope_com_wics
16 greg hope_com_wics
ashish61_scs
 
15 bufferand records
15 bufferand records15 bufferand records
15 bufferand records
ashish61_scs
 
14 turing wics
14 turing wics14 turing wics
14 turing wics
ashish61_scs
 
13 tm adv
13 tm adv13 tm adv
13 tm adv
ashish61_scs
 
11 tm
11 tm11 tm
11 tm
ashish61_scs
 
10b rm
10b rm10b rm
10b rm
ashish61_scs
 
10a log
10a log10a log
10a log
ashish61_scs
 
09 workflow
09 workflow09 workflow
09 workflow
ashish61_scs
 
08 message and_queues_dieter_gawlick
08 message and_queues_dieter_gawlick08 message and_queues_dieter_gawlick
08 message and_queues_dieter_gawlick
ashish61_scs
 
06 07 lock
06 07 lock06 07 lock
06 07 lock
ashish61_scs
 
05 tp mon_orbs
05 tp mon_orbs05 tp mon_orbs
05 tp mon_orbs
ashish61_scs
 
03 fault model
03 fault model03 fault model
03 fault model
ashish61_scs
 
02 fault tolerance
02 fault tolerance02 fault tolerance
02 fault tolerance
ashish61_scs
 

Recently uploaded (20)

How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdfBiophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
P-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 finalP-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 final
bs22n2s
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Operations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdfOperations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdf
Arab Academy for Science, Technology and Maritime Transport
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
P-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 finalP-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 final
bs22n2s
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar RabbiPresentation on Tourism Product Development By Md Shaifullar Rabbi
Presentation on Tourism Product Development By Md Shaifullar Rabbi
Md Shaifullar Rabbi
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...Multi-currency in odoo accounting and Update exchange rates automatically in ...
Multi-currency in odoo accounting and Update exchange rates automatically in ...
Celine George
 

5 application serversforproject

  • 1. 1/25/12 1 6. Application Server Issues for the Project CSEP 545 Transaction Processing for E-Commerce Philip A. Bernstein Copyright ©2012 Philip A. Bernstein
  • 2. 2 Requests • A request is a message that describes a unit of work for the system to execute. • An application server coordinates the flow of requests between message sources (displays, applications, etc.) and application programs that run requests as transactions. • Basic control flow: – Translate the display input (form/menu selection, etc.) into a standard-format request – Send the request to the appropriate server based on the transaction type in the request header – Start the transaction – Invoke the transaction type’s application program – Commit and send the transaction’s output to the display 1/25/12
  • 3. 3 Application Server Architecture • App server should make the previous control flow scale up • Bold lines carry request messages Web Server Request Controller Transaction Server Transaction Server intranet other TP systems 2 3 4 5 Resource Manager 1 6 Resource Manager 1/25/12
  • 4. 4 Application Server Components • Web Browser – A smart device, with forms, menus, input validation • Web server – Performs front-end work, e.g., security, data caching, …. – “Calls” the web page associated with the URL, which in turn calls a request controller • Request controller (= Workflow Controller in the project) – Calls Start, Commit, and Abort – App logic that transforms the request (automatic loan payment, money transfer) into calls on basic objects (loan, account). • Sometimes called business rules. • Transaction server – Business objects (customer, account, loan, teller) • Resource Manager – usually a database (DB) system 1/25/12
  • 5. 5 Project’s Process Architecture 1 Web Browser Web Server Request Controller Transaction Server Resource Manager Client Workflow Controller Resource Manager 1/25/12
  • 6. 6 Request Controller • For the most part, Request Controllers and Transaction Servers are just plain old server programs • The features that differentiate a Request Controller are that it – Brackets transactions (issues Start, Commit, and Abort), so that transaction server procedures can execute either as independent transactions or as steps in larger transactions – Reports Commits to the client (e.g., web server) – Handles Aborts and other failures (e.g., re-runs the transaction) – Does not access the DB system, so it need not be close to the DB system (i.e., Resource Manager) 1/25/12
  • 7. 7 Transaction Server • The features that differentiate a Transaction Server are the inverse of the Workflow Controller, namely that it – Does not issue Start, Commit, and Abort (so it can be called either as an independent transaction or as a step in larger transaction) – Does not talk directly to the client (e.g., Web Server) – Can access the DB system. • In addition, it can call other transaction servers. • Often, some transaction server code runs as stored procedures inside the DB system. – So combining the transaction server and resource manager in the project isn’t really an oversimplification. 1/25/12
  • 8. 8 Transaction Manager (TM) • The TM is the server that supports Start, Commit and Abort. • It implements two-phase commit (2PC). • This is a major feature of many application servers. – 10 years ago, it was the major feature (TM + T-RPC). – Supports 2PC across different RMs. – So it’s useful to have a TM in the application server even though DB products implement 2PC themselves. 1/25/12
  • 9. 9 Project’s Process Architecture 2 Web Browser Web Server Request controller Transaction Server Resource Manager Client Workflow Controller Resource Manager Transaction Manager Start, Commit, Abort 2PC 1/25/12
  • 10. 10 Remote Procedure Call (RPC) • Within a system or intranet, RPC is the most popular form of inter-process communication • A program calls a remote procedure (in another process) the same way it would call a local procedure – This simplifies the message protocol. It’s always a call message followed by a return message. – It hides certain communications errors. – It automates the work of marshaling parameters into and out of the call and return messages. • There are many implementations of the concept – RMI, DCOM, CORBA/IIOP, HTTP, SOAP, ODBC, …. • In the project, all inter-process communications is via RPC. 1/25/12
  • 11. 11 Transactional RPC • Transactional RPC is an RPC protocol that implements the necessary plumbing to cope with a caller and/or callee that are running a transaction. • Ideally, Start returns a transaction ID that’s hidden from the caller in a transaction context – Transactional RPC passes that transaction context as a hidden parameter. It’s an easier programming model and avoids errors. – When a transaction first arrives at a callee C, C needs to enlist with the local transaction manager (TM), so the TM knows to call C during two-phase commit. – Also, C needs to execute the call in the context of the transaction that called it. 1/25/12
  • 12. 12 Transactional RPC in the Project • You are implementing transactional RPC in the project. – In steps 6 and 7. – But the transaction context parameter is explicit (not hidden). 1/25/12
  • 13. 13 Project’s Process Architecture (revisited) Web Browser Web Server Request controller Transaction Server Resource Manager Client Workflow Controller Resource Manager Transaction Manager Start, Commit, Abort 2PC enlist 1/25/12
  • 14. 14 Partitioning Servers • To add system capacity, add server machines. • Sometimes, you can just relocate some server processes to different machines. • But if an individual server process overloads one machine, then you need to partition the process. – Example – flights, cars, and hotel rooms are managed by one server process. Later, you partition them in separate processes. – This implies the WFC has to direct its RPC calls based on resource type – To facilitate such changes, the mapping of resource name to server name can be made table-driven. • This scenario is developed in step (7) of the project, where multiple RMs are required. 1/25/12
  • 15. 15 Parameter-Based Routing • Sometimes, it’s not enough to partition by resource type, because a resource is too popular – Example: flights • The solution is to partition the popular resource based on value ranges – Example – flight number 1-1000 on Server A, flight number 1000-2000 on Server B, etc. – This implies that a request controller has to direct its calls based on parameter value (e.g. flight number) – To facilitate such changes, the mapping of parameter range to server name can be made table-driven. • This is a possible project extension (not required) 1/25/12
  • 16. 16 Summary of Concepts • Request Controller vs. Transaction Server • Remote Procedure Call (RPC) • Transactional RPC • Transaction Manager • Partitioning Servers • Parameter-Based Routing • There’s a lot more to say about Application Servers and other transactional middleware. We’ll return to the topic in a later lecture. 1/25/12