CS590L - Lecture 1 1 CS590L Distributed Component Architectures Yugi Lee STB #555 (816) 235-5932

Slides:



Advertisements
Similar presentations
Overview of Web Services
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
CS590L - Lecture 6 1 CS590L Distributed Component Architecture References: - E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of.
The road to reliable, autonomous distributed systems
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Technical Architectures
Some of these slides were excerpted from: Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
MS DB Proposal Scott Canaan B. Thomas Golisano College of Computing & Information Sciences.
General information CSE 230 : Introduction to Software Engineering
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
CS 447 Distributed Objects Instructor: Shangping Ren.
CS551 - Lecture 1 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Web Technologies – CS381 Bogdan L. Vrusias 22 January 2004.
2° cycle degree programme (lm) in Telecommunications Engineering Principles Models and Applications for Distributed Systems Prof. Maurelio Boari
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is designed based.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
Research and Projects Name: Aloysius. A. EDOH Name: Alo Address: Ext 3344.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
An Introduction to Software Architecture
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is designed based.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Distributed Systems: Concepts and Design Chapter 1 Pages
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
Information System Development Courses Figure: ISD Course Structure.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CS590L - Lecture 2 1 CS590L Distributed Component Architectures Yugi Lee STB #555 (816)
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Object Oriented Methodology Course Introduction. Objectives A 3-credit hour graduate course explaining the development of object oriented software systems.
SOA Concepts Service Oriented Architecture Johns-Hopkins University Montgomery County Center, Spring 2009 Session 1: January 28, 2009 Instructor:
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Introduction to Web Technologies Module Introduction to Web Technologies – CS th January 2005 Dr Bogdan L. Vrusias
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Chapter 1 The Nature of Software
CS 389 – Software Engineering
Introduction to Advanced Java Programming
Unit – 5 JAVA Web Services
Distribution and components
Chapter 2 – Software Processes
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Service Oriented Architecture (SOA)
An Introduction to Software Architecture
CS6501 Embedded Operating Systems for the IoT
Introduction to SOA and Web Services
Presentation transcript:

CS590L - Lecture 1 1 CS590L Distributed Component Architectures Yugi Lee STB #555 (816)

2 CS590L - Lecture 1 General stuff Class hours: T/TH 2:00 – 3:15, FH260 Office hours: –Yugi Lee: T/TH 3:15-4:15 or by appointment Class page: –Lecture notes will be available in advance –Mailing List Suggested Prerequisites  CS551 (Advanced Software Engineering)  Middleware Technology, component-based model (UML), Object-Oriented programming language (Java, C++)

3 CS590L - Lecture 1 Reference books Evaluating Software Architectures: Methods and Case Studies by P. Clements, R. Kazman, M. Klein ISBN X Design Patterns: Elements of Reuseable Object-Oriented Software by E. Gamma, R. Helm, R. Johnson and J. Vlissides, Addison-Wesley, ISBN: , Copyright UML Components by J. cheesman, J. Daniels. Addison-Wesley, October Large-Scale, Component-Based Development, by Alan W. Brown, Prentice Hall, 2000, ISBN: X. Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design, Craig Larman, Prentice Hall, 1998, ISBN Component-Software - Beyond Object-Oriented Programming, Clemens Szyperski, Addison-Wesley, Copyright 1998, ISBN SOAP, Scott Seely, Seely, ISBN Software Architecture in Practice, Len Bass, Paul Clements, Rick Kazman, Addison Wesley, Copyright 1998, ISBN Further material will be made available through handouts in class and through pointers to relevant Web pages.

4 CS590L - Lecture 1 Motivation As a software environment (i.e., WWW) is evolving very rapidly, it is necessary to understand the current trend of software systems and to identify the technologies and requirements for the system development. Some requirements and characteristics of the current system can be determined as comparability, heterogeneity, scalability and distribution. An emerging concept called "a component-based software" appears to be a solution for the development of software system.

5 CS590L - Lecture 1 Course Objectives To introduce the concept of distributed component architectures, including its relationship to the object-oriented programming paradigm. To demonstrate the importance of reusability and focuses on design pattern and frameworks in distribute component architecture. To introduce different component frameworks, including Enterprise Java Beans, COM, CORBA, Web Services and discuss interoperability between applications built in different frameworks using.NET. To present primary issues in component frameworks, including events, properties, introspection and reflection, persistence, and packaging will be thoroughly reviewed. To describe software architecture and its evaluation mechanism for supporting components and theoretical foundations of components

6 CS590L - Lecture 1 Course Requirements A research-oriented graduate course, –A substantial portion of the quarter will be devoted to student presentations of techniques and research papers –Students will be expected to select a problem area in distributed computing architecture and prepare an intensive presentation covering the methods and framework commonly employed to address their problem. –A research paper on the application of a particular middleware architecture is also an acceptable topic.

7 CS590L - Lecture 1 Course Requirements Discussion/Presentation: –The lecture/discussions are designed to be highly participatory. –Participation will include such activities as group discussions of topics through workshops; discussions with faculty and student groups on topics, research, and/or application problems; –Short presentations on relevant papers and project results; –Critiques of resource material, software, and other things related to distributed component architecture.

8 CS590L - Lecture 1 Course Requirements  Critical Reading/Thinking:  Students are required to read and assimilate information from the readings beyond the material covered in class.  Throughout the semester, papers and chapters of the texts will be read and discussed.

9 CS590L - Lecture 1 Course Requirements  Analytical Writing:  Students are asked to think critically and reason about information presented in the textbooks or papers. For example, a paper assignment might ask how different frameworks we are studying compare, or how existing technology, like the Web will evolve in the context of component software.  This critical evaluation requires that students offer their own understanding of the significance of what students have learned.

10 CS590L - Lecture 1 Course Requirements  Discovery (Self-guided) Learning: The course project will require independent research and programming, and students are expected to be able to demonstrate ability of this kind.

11 CS590L - Lecture 1 Assessment Group Project 40%  Projects 1 – 5 30%  Pair Programming (Labs 1 – 4) 10% Individual Work 60% –Papers 1 - 3: 30% –Presentation & Discussion 15% –Test 15% Both components must be passed in order to pass the course.

12 CS590L - Lecture 1 Group Projects Teams of Maximum 2 members, development of a component-based system. The overall assignment will be split into several steps that will be marked individually.  Project 1 : Project proposal  Project 2: System design  Project 3: System implementation(1)  Project 4: System implementation(2)  Project 4: Documentation & final package

13 CS590L - Lecture 1 Group Projects Building system followed by component-based design and programming Incremental outcomes going through Component-based software development process, such as requirement analysis, design, implementation, testing, and integration. Object-Oriented Specification/Design (UML/Together), Design patterns, styles, Object Framework building using XML, CORBA/COM/EJB, Web Services or.NET.

14 CS590L - Lecture 1 Research Paper Goal: A research paper (Individual work) Tentative paper topics: –Paper 1: Software Architecture Evaluation –Paper 2: Design Pattern –Paper 3: Distributed Component Systems

15 CS590L - Lecture 1 Presentation & Discussion Each student will be participated in three types of presentations & discussion  Workshop  Paper  Project  Lab

16 CS590L - Lecture 1 Contents of Lecture Workshop 1: Software Architecture Design & Evaluation –Introduction to software architecture. Place of software architecture process in the whole software life cycle. –The issues surrounding modern software architecture: heterogeneity, reusability etc. –The decisions making process leading to architecture definition. the interlocking views underlying the architecture of a software intensive system. –Evaluating Software Architectures: Architecture Tradeoff Analysis Method (ATAM), Software Architecture Analysis Method (SAAM), Active Reviews for Intermediate Designs (ARID).

17 CS590L - Lecture 1 Contents of Lecture Workshop 2: Design Patterns –Overview of design patterns. Introduction of the techniques and notations provided by the UML for modeling design patterns and architectural patterns. –Overview of Java design patterns. Introduction to Design Patterns, Behavioral Pattern (Visitor, Iterator, Observer) MVC pattern, Creational Patterns (Factory, Singleton), Broker Pattern.

18 CS590L - Lecture 1 Contents of Lecture Workshop 3: Distributed Component Architecture Characteristics of Current Computing environment and Requirements, Component-based development? Importance of software architecture? Object Oriented Middleware Technologies (CORBA, EJB, COM): Architecture, services, facilities, application design and Implementing Web Services: Simple Object Access Protocol (SOAP) and Universal description, discovery, and integration. Software Agent: Intelligent agent, Interface agent, Mobile agent. Microsoft's new.NET Framework: Introduction to the.NET platform, Object-oriented programming in C#, COM, COM+, and.NET interoperability, ASP and ASP.NET programming for Web development

19 CS590L - Lecture 1 Contents of Lecture Workshop 4: Advanced Topics QoS -Real-time architecture design -Process-oriented architecture design -Fault-tolerant architecture design -Secure software architecture design -Architectural Composition -Integration of legacy systems -Embedded systems architecture design -Tools: -Version-control and configuration management (VCCM) -Project management (PM)

CS590L - Lecture 1 20 Distributed Component Archicture

21 CS590L - Lecture 1 Today’s Computing Environment Today, anything and anyone must be net-enabled. Automated business processes, products, and software systems need to evolve in “E-Time”. Everything must be changeable, extensible, adaptable. Quality is an important issue. How can we balance these forces

22 CS590L - Lecture 1 Today’s Software Systems? A software environment (i.e., Internet) is evolving rapidly and software requirements and technologies are also evolving very rapidly. Some requirements and characteristics of the current system can be determined as comparability, heterogeneity, scalability, openness, security and distribution. Are you ready for this? It is necessary to understand the current trend of software systems and to identify the technologies and requirements for the system development.

23 CS590L - Lecture 1 Problems to be tackled Web- and Net-based Integration of Applications, Services, and Systems Quality of Service issues such as availability, resource and time constraints,... Deployment of Automated and Autonomous Systems Smart Services that share and distribute context Flexible Data Exchange Software as Service (aka ASP)

24 CS590L - Lecture 1 Evolving Requirements and Technologies In the stone ages (i. e., a few years ago) –most applications were non- distributed, running in an almost homogeneous enviroment, developed with a “stable” set of requirements, using a limited set of external interfaces, using proprietary technology. This approach does not work anymore. In the new age (i. e., since the Web) –most applications are: distributed, running in an increasingly heterogeneous environment, developed with an “instable” set of requirements, interoperating with many different external interfaces, using standard technologies. This approach works but has some drawbacks.

25 CS590L - Lecture 1 Why “agility” does matter Developers cannot make too many assumptions about usage contexts and environments a priori. Developers don‘ t live on an island and must interoperate with legacy code. Running applications must be reconfigured instead of recompiled. Software Engineering must cope with change requests in Internet time. Programmers need to develop and deploy their software on different heterogeneous machines and devices.

26 CS590L - Lecture 1 Architectural consequences Software should not be designed as monolitic unit but partitioned into composable services that can be spontaneously connected and orchestrated by business/ technical processes (component- based software). “Software entropy” should be maximized: loosely coupling between peers, decentralized information access, reflective approaches (Just- in- Time Integration). Software must be e- nabled. Legacy code must be integrated in order to protect investments. Can today‘s Web technologies offer an appropriate solution?

27 CS590L - Lecture 1 But there are some limitations... While the backend has always been subject to evolutionary change, the frontend remained the same: –Only human users can access services and information. –Backend and frontend denote different worlds connected by HTTP but separated by the Web Server barrier. Using Java applets and middleware doesn‘t work because –security restrictions imposed by firewalls, –huge number of different middleware technologies available.

28 CS590L - Lecture 1 Web-Middleware-Archtecture The Web as Middleware Technology What we need is middleware that supports a Web of loosely coupled, composable, networked services. – We need standard middleware to connect applications, services, and legacy systems. – We need XML applications for data formating and transfer between these software peers. – We need Web protocols for interoperability. However, these technologies are currently not well integrated with each other.