Cross Cutting and Advanced Topics in Distributed Computing through Service-Oriented Architecture and Software Integration Yinong Chen School of Computing, Informatics, and Decision Systems Engineering Arizona State University, Tempe, AZ 85287-8809, U.S.A. 4th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-14) In conjunction with 28th IEEE International Parallel & Distributed Processing Symposium PHOENIX (ARIZONA) Monday May 19, 2014 1 Three Courses Covered in Report Course Number Course Name First offered Report Semester Enrollment CSE 101/ FSE 100 Introduction to Engineering Fall 2006 Fall 2013 480 CSE 445/ CSE 598 Distributed Software Development Fall 2006 Fall 2013 130 CSE 446/ CSE 598 Software Integration and Engineering Spring 2012 Spring 2014 70 2 CSE101 / FSE100: Introduction to Engineering • Learn engineering design process through group activities • Use robot construction and programming to exercise design and computing concept • Use service-oriented and event-driven approaches to comprehend parallel computing principles • Started as a Computer System Engineering required course in 2006; Computer Science start to require the course in 2008; Become an required engineering first course in 2011. • Start to be adopted overseas, universities in China and Vietnam started to offer the course in 2012 3 CSE101 / FSE100: Introduction to Engineering http://venus.eas.asu.edu/WSRepository/eRobotic/ Web Apps Phone Apps Computer Science Concepts Visual Programming Robotic Experiments Intel Architecture Cornell Cup Robot 2013 Start DistanceMeasured < 400 Forward http://venus.eas.asu.edu/WSRepository/eRobotic/ rightFinished Turning Right Turned Right RightDistance DistanceMeasured Resum180 Finished DistanceMeasured >= rightDistance Turning Left Finite State Machine Algorithm and efficiency Computer simulation leftFinished Resume 180 DistanceMeasured < rightDistance Turned Left Web programming Communication between Web robot and physical robot 4 Intel-Based Robot as a Service (RaaS) Cornell Cup: http://venus.eas.asu.edu/WSRepository/eRobotic/video2013.wmv CSE 445/598 Distributed Software Development • In service-oriented distributed systems, server applications may be invoked by multiple clients • Multithreading with parallel computing and data synchronization using Intel’s Thread Building Blocks (TBB) is discussed • Performance analysis and case study 6 Results on Intel 32-Core MTL Time measured in milliseconds Input size Speedup Efficiency 7 CSE 445/598 Distributed Software Development Cross cutting and advanced topics Topics Bloom Learning Outcomes # Cloud K P2P Security in Distributed System Web services K K Multithreadin g C, A A Know that both are shared distributed resources - cloud is distinguished by on-demand, virtualized, service-oriented software and hardware resources Server and client roles of nodes with distributed data Know that distributed systems are more vulnerable to privacy and security threats; distributed attacks modes; inherent tension between privacy and security Be able to develop Web services and service clients to invoke services Resource sharing, synchronization, and performance impact 8 CSE 445/598 Distributed Software Development Sample Project Client Provider Credit score Web service Name Approval? SSN Yes Address DoB Create account Check credit score Subscribe No You do not qualify Issue User ID User ID Password Retype Password Yes Strong? Match? Yes Create Password No No addPwd Add User Info XML file account.xml User ID Password Login Check existence 9 CSE446/598 Software Integration and Engineering Objectives and Outcomes • Distributed Application Architecture • Advanced Architecture-Driven Application Development, workflow-based development • Enterprise Software Development and Messagebased Integration • Event-Driven Architecture and Applications • Interfacing Service-Oriented Software with Databases and Big Data analysis • Ontology and Semantic Web • Cloud Computing and Software as a Service 10 CSE446/598: Infrastructure Supporting Big Data Volume Data Analytics Velocity Share nothing Value Variety Variability Volatile Data Collection Data-App Integration Data & Facility Management Veracity Distributed / Networked Shared-nothing cluster Shared-disk clusters Characteristics Multiprocessors Scale up Share Everything Super Computer Multicores Simple Computer Share disk Scale out Share memory, and disk Share cache, memory, and disk Infrastructure and Facilities 11 MapReduce Layer Hadoop and Web Service Project Master Mapper Slave Reducer Mapper Reduce r Job Tracker Web service HDFS Layer Tomcat Name Node Data sheet Result sheet Final result Data sheet Result sheet Final result 12 ASU REPOSITORY OF SERVICES AND APPLICATIONS http://venus.eas.asu.edu/WSRepository/repository.html • Private Services: Many corporations, e.g., IBM and SAP, keep their repositories private for internal use only. Not be available for education purposes • Paid Services: Many corporations, for example, Amazon Web Services, offer commercial services and subscription and payments are required. • ASU repository offer free services for education purposes 13 Textbook for CSE101, CSE445 and CSE446 Service-Oriented Computing and Web Software Integration, 4th ed. in 2014 Part I Distributed Service-Oriented Software Development and Web Data Management Chapter 1 Introduction to Distributed Service-Oriented Computing Chapter 2 Distributed Computing with Multithreading Chapter 3 Essentials in Service-Oriented Software Development Chapter 4 XML Data Representation and Processing Chapter 5 Web Application and State Management Chapter 6 Dependability of Service-Oriented Software Part II Advanced Service-Oriented Computing and System Integration Chapter 7 Advanced Services and Architecture-Driven Application Development Chapter 8 Enterprise Software Development and Integration Chapter 9 Internet of Things and Robot as a Service Chapter 10 Interfacing Service-Oriented Software with Databases Chapter 11 Big Data and Ontology Systems Chapter 12 Service-Oriented Application Architecture Chapter 13 A Mini Walkthrough of Service-Oriented Software Development Chapter 14 Cloud Computing and Software as a Service 14 Appendix Service-Oriented Robotics Software Development