Service-Oriented Computing
CSC 450 and CSC 750 Munindar P. Singh, Professor
singh@ncsu.edu
Department of Computer Science North Carolina State University
Fall 2018
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 1
Service-Oriented Computing CSC 450 and CSC 750 Munindar P. Singh, - - PowerPoint PPT Presentation
Service-Oriented Computing CSC 450 and CSC 750 Munindar P. Singh, Professor singh@ncsu.edu Department of Computer Science North Carolina State University Fall 2018 Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 1 Preamble
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 1
Preamble
◮ Graduated PhD: 25; MS: 28 ◮ Inaugural Alumni Hall of Fame: Nirmit Desai, Pınar Yolum ◮ Inaugural Faces of Computer Science (EB2 hall): Chris Hazard ◮ Associate Editors: Amit Chopra, Michael Maximilien, Pınar Yolum ◮ CGS MS Thesis Award: Payal Chakravarty; also, nominee: Anup Kalia ◮ Dept awards, 2017 (3 out of 5): Nirav Ajmeri, Hui Guo, Pradeep
◮ Dept awards, 2016 (1 out of 5): Pradeep Murukannaiah
◮ Alumni Distinguished Graduate Professor ◮ Research Leadership Academy ◮ Outstanding Research Achievement Award
◮ Fellow, Association for the Advancement of Artificial Intelligence ◮ Fellow, Institute of Electrical and Electronics Engineers ◮ Editor in Chief ◮ ACM Transactions on Internet Technology ◮ IEEE Internet Computing Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 2
Preamble
◮ You might hesitate to take on otherwise ◮ Your peer group might find overwhelming
◮ Education ◮ Career
◮ Don’t take ethically dubious actions ◮ Stay engaged ◮ Communicate with me personally, especially about ◮ Explanations and motivations ◮ Improvements to the course, in general Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 3
Preamble
◮ Especially, academic integrity ◮ Don’t help; don’t take help; don’t collude Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 4
Preamble
◮ Emphasizes concepts and theory ◮ Involves tools in assignments
◮ Fairly easy if you don’t let your tasks slip Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 5
Preamble
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 6
Computing with Services
◮ Information and its meaning ◮ Decentralization of computation ◮ Applying standards and tools where appropriate Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 7
Computing with Services
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 8
Computing with Services
◮ Focuses on presentation ◮ People provide the meaning: no formal representation
◮ Client-server ◮ Stateless ◮ Focus on procedures across websites that cause avoidable coupling Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 9
Computing with Services
◮ Beyond presentation to representation of content ◮ From plain representation of content to richer meanings ◮ Ways of structuring complex activities ◮ Ways for independent components to interoperate ◮ Ways to share contextual information Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 10
Computing with Services
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 11
Challenges of Electronic Business
◮ Traditionally: merchant, customer, dealmaker ◮ Trends: collaboration among various parties; virtual enterprises;
◮ Challenge: how to cut across different perspectives
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 12
Challenges of Electronic Business
◮ Autonomy: independent action (how will the other party act?) ◮ Heterogeneity: independent design (how will the other party represent
◮ Dynamism: independent configuration (which other party is it?) ◮ Usually, also large scale
◮ Going from one locus of control to multiple loci of control ◮ Supporting flexible interaction and arms-length relationships Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 13
Challenges of Electronic Business
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 14
Challenges of Electronic Business Open Environments
◮ Ownership of resources by partners ◮ Control, especially of access privileges ◮ Payments
◮ Simplify interfaces “assume nothing” ◮ Accommodate any underlying exceptions Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 15
Challenges of Electronic Business Open Environments
◮ Differences in local needs ◮ Difficulty of achieving agreement
◮ Conceptual problems: cannot easily agree ◮ Fragility: a slight change can mess it up Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 16
Challenges of Electronic Business Open Environments
◮ Ownership of resources ◮ Changing user preferences or economic considerations
◮ Same reasons as for network administration ◮ Future-proofing your system Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 17
Challenges of Electronic Business Open Environments
◮ Maintaining consistency of multiple databases is difficult ◮ Unexpected real-world events can knock databases out of sync with
◮ Are organizational relationships preserved? ◮ Are processes followed? ◮ Are appropriate business rules applied? Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 18
Challenges of Electronic Business Open Environments
◮ Freeze Org policies into computational system
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 19
Challenges of Electronic Business Open Environments
◮ Minimize dependence on others ◮ Continually have interested parties verify the components of the state
◮ Lazy: obtain global knowledge as needed ◮ Optimistic: correct rather than prevent violations ◮ Inspectable: specify rules for when, where, and how to make corrections Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 20
Challenges of Electronic Business Open Environments
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 21
Challenges of Electronic Business Open Environments
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 22
Challenges of Electronic Business Open Environments
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 23
Challenges of Electronic Business Open Environments
◮ What if the payments are made offline, i.e., significantly delayed?
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 24
Challenges of Electronic Business Open Environments
◮ Impossibility of ensuring consistency and progress in an open setting Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 25
Challenges of Electronic Business Open Environments
◮ Model the rules of encounter among the parties ◮ Matter of policies to ensure compliance ◮ Engage user about credit problems
◮ Reliable messaging (asynchronous communication, which guarantees
◮ Maintain state: retry if needed ◮ Detect and repair duplicate transactions Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 26
Challenges of Electronic Business Open Environments
◮ Coherence of local states ◮ Not immediate consistency, as traditional databases promise ◮ Eventual “consistency” (howsoever understood) Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 27
Challenges of Electronic Business Open Environments
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 28
Challenges of Electronic Business Open Environments
◮ Delivery requirements ◮ Prices
◮ Product specifications Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 29
Challenges of Electronic Business Open Environments
◮ Inventory management ◮ Logistics: how to optimize and monitor flow of materiel ◮ Billing and accounts receivable ◮ Accounts payable ◮ Customer support
◮ Rules of encounter: normative and economic mechanisms ◮ Handling exceptions Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 30
Challenges of Electronic Business Open Environments
◮ Construct teams ◮ Enter into multiparty deals ◮ Handle authorizations and commitments ◮ Accommodate exceptions
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 31
Challenges of Electronic Business Open Environments
◮ Plan inflow and outflow ◮ Schedule resources ◮ Accommodate exceptions Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 32
Challenges of Electronic Business Open Environments
◮ Set prices, place or decide on others’ bids ◮ Accommodate risks
Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 33
Challenges of Electronic Business Open Environments
◮ Learning and remembering the customer’s preferences ◮ Offering guidance to the customer (best if unintrusive) ◮ Acting on behalf of the user without violating their autonomy Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 34
Challenges of Electronic Business Open Environments
◮ How do you know they do what you think they do (ambiguity)? ◮ How do you know they do what they say (trust)?
◮ How do you obtain and aggregate evaluations? Munindar P. Singh (NCSU) Service-Oriented Computing Fall 2018 35