Survey On Concern Separation in Service Integration by Tomas Cerny* and Michal J. Donahoo # * Czech Technical University, Czech Rep. # Baylor University,

Slides:



Advertisements
Similar presentations
Personalized Presentation in Web-Based Information Systems Institute of Informatics and Software Engineering Faculty of Informatics and Information Technologies.
Advertisements

Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
1 On Death, Taxes, & the Convergence of Peer-to-Peer & Grid Computing Adriana Iamnitchi Duke University “Our Constitution is in actual operation; everything.
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Distributed Systems Architectures
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
The Architecture of Transaction Processing Systems
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Chapter 2 Database Environment Pearson Education © 2014.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
CSC271 Database Systems Lecture # 4.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
第十四章 J2EE 入门 Introduction What is J2EE ?
Jan Tichava – presenting author Ondřej Rohlík Jan Pikl Department of Computer Science and.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Aspect Oriented Programming Gülşah KARADUMAN.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
REST By: Vishwanath Vineet.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
NCP Info DAY, Brussels, 23 June 2010 NCP Information Day: ICT WP Call 7 - Objective 1.3 Internet-connected Objects Alain Jaume, Deputy Head of Unit.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Chapter 2 Database Environment.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Aspect, Rich and Anemic Domain models in Enterprise Information Systems Karel Cemus 1, Tomas Cerny 1, Lubos Matl 1, Michael J. Donahoo 2 1 Czech Technical.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
J2EE Platform Overview (Application Architecture)
IST421: Advanced Systems and Enterprise Integration
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
WEB SERVICES.
SOA (Service Oriented Architecture)
Complexity Time: 2 Hours.
Software Connectors.
Towards Effective Adaptive User Interfaces Design
Design and Maintenance of Web Applications in J2EE
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Database Environment Transparencies
Starting Design: Logical Architecture and UML Package Diagrams
Software models - Software Architecture Design Patterns
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Component-based Applications
Quality Assurance for Component-Based Software Development
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture Lecture 6
ONAP Architecture Principle Review
Presentation transcript:

Survey On Concern Separation in Service Integration by Tomas Cerny* and Michal J. Donahoo # * Czech Technical University, Czech Rep. # Baylor University, TX, USA SofSem 2016, Harrachov, Czech Republic, Jan 23-28,

Goal Survey on Service Integration Contemporary issues Web Services Distinct evolution boundaries and life-span Development and maintenance efforts Service Interaction perspective Separation of concerns Concern-separating design Impact on Service Integration SofSem 2016, Harrachov, Czech Republic, Jan 23-28,

Code-centric design Background 3 layers 3 tiers Java Enterprise Edition SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Correlation

Service Integration Background Large enterprise software applications Heterogeneous data sources Decentralized governance Reusable, independently replaceable, scalable microservices Composable functionality Platform independence Interoperable Well-defined interfaces Builds on standard machine-readable formats XML, JSON Location transparency SofSem 2016, Harrachov, Czech Republic, Jan 23-28,

Correlation Service Integration Background Addresses disadvantages of code-centric monolithic design Independent components Service provider Integration component Service consumer SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Correlation

Service Provider and Integration Component SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Integration Component Service Provider >

Service Provider and Integration Component SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Integration Component 1 Service Provider > Integration Component 2 > June, 2015 Version 1 Integration Component 1 Service Provider > Integration Component 2 > January, 2016 Version 2 Version 1 ?? Data Data structure Validation Business rules Context-awareness Data structure Validation Business rules Context-awareness

Service Provider and Integration Component SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Service Provider Object-oriented programming (OOP) Industrial standards Persistence Object Relational Mapping Validation Security Business rules Object-based Domain Specific Languages REST/XML/JSON Context-awareness

SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Independent application Coupling to provider Global weak type-safety Restatements Data structure Validation Business rules Context-awareness Security Location Time Service Provider and Integration Component Integration Component >

A Good Software Design 10 A single large procedure? 1000 Lines of code? Structural decomposition Separation of concerns Design principle Separating a computer program into distinct sections Each section addresses a separate concern A concern is a set of information affecting computer program Performance, Security, Logging, Transactional behavior, etc. What if we cannot effectively separate certain concerns? Results in tangled/spaghetti code, or in inefficient interaction Breaking a complex problem/system into parts easier to conceive, understand, program, and maintain. SofSem 2016, Harrachov, Czech Republic, Jan 23-28, 2016

Concern separating approaches Aspect-Oriented Programming (AOP) Component code + Aspect code 11 Concern reuse Need to design Weaver Concerns captured by Aspects No concern Reuse SofSem 2016, Harrachov, Czech Republic, Jan 23-28, 2016

Concern separating Service Design SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Service Provider Code-inspection/Metaprogramming Deriving Join Point Representation Entities and constraints Java Persistence API Bean Validation Presentation Profiles Security annotations Domain Specific Languages Business rules Drools, MPS Validation/Security rules Context-awareness Runtime processing / weaving MetaWidget AspectFaces MetaWidget AspectFaces RuleGuvnor AspectFaces Concerns /Aspects Object/Co mponent AspectWeaver

Concern separating Integration Design SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Integration Component Service Provider > Data structure Data values Validation Business rules Context-awareness Data structure Data values Validation Business rules Context-awareness > Provider Weaver Integration Weaver Runtime processing

Service Provider and Integration Component SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Integration Component 1 Service Provider > Integration Component 2 > June, 2015 Version 1 Integration Component 1 Service Provider > Integration Component 2 > January, 2016 Version 2 Adapts Data values Data structure Validation Business rules Context-awareness Data values Data structure Validation Business rules Context-awareness

Performance MetaProgramming Slow Join point representation preloading/caching AspectWeaving Delegated to the integrating component Parallelization Caching aspects at the integrating component User Interface study Better responsiveness SofSem 2016, Harrachov, Czech Republic, Jan 23-28,

Conclusion Concern separation itself improves service design Multiple existing concern separating approaches Not yet applied to interaction Multiple communication channels Concurrent processing Caching Sharing service meta-information Integrating components adapt to service changes Adaptation relative to explicit field references User Interface Design - render all fields – implicit references Impacts design of the integrating components Dedicated weaver producing proxy objects Limited compile-time decisions SofSem 2016, Harrachov, Czech Republic, Jan 23-28,

Future work Extend Business Rule Distribution Compile-time property evaluation For integrating components type-safety ASM, Apache BCEL Enforce correlation across distributed environment AOP service backwards compatibility Service change == novel aspect for backwards compatibility Chain of Responsibility Mediation Internet of Things SofSem 2016, Harrachov, Czech Republic, Jan 23-28,

@ inproceedings {cerny2016, Title = {Survey On Concern Separation in Service Integration}, Author = {Tomas Cerny, and Michael J. Donahoo}, Booktitle = {SOFSEM2016: Theory and Practice of Computer Science}, Isbn = { }, Month = {January}, Year = {2016}, Pages = { }, Volume ={9587}, Series ={Lecture Notes in Computer Science}, Publisher ={Springer Berlin Heidelberg}, } SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Questions/Answers

Invitation ICITCS Prague SofSem 2016, Harrachov, Czech Republic, Jan 23-28, Scopus ISI EI Scopus ISI EI