Technology of information systems Lecture 2 Architecture.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Chapter 19 – Service-oriented Architecture
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
WEB SERVICES DAVIDE ZERBINO.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
CUSTOMER FOCUS COMMITMENT QUALITY PLATINUM PARTNER 1 Click to edit Master title style rewferwfff CUSTOMER FOCUS COMMITMENT QUALITY PLATINUM PARTNER 1 Oracle.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Technical Track Session Service-Oriented Architecture Terry Woods.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
LaQuSo is an activity of Technische Universiteit Eindhoven and Radboud University Nijmegen Dagstuhl, July 2006 Relationships between services, components.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Ch 12 Distributed Systems Architectures
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.
ICE0534 – Web-based Software Development ICE1338 – Programming for WWW Lecture #11 Lecture #11 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information.
An Introduction to Rational Rose Real-Time
The Client/Server Database Environment
IBM Research – Thomas J Watson Research Center | March 2006 © 2006 IBM Corporation Events and workflow – BPM Systems Event Application symposium Parallel.
SOA, BPM, BPEL, jBPM.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Web Services Description Language CS409 Application Services Even Semester 2007.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Information System Development Courses Figure: ISD Course Structure.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Lecture 22: Client-Server Software Engineering
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
XML and Web Services (II/2546)
SOA-10: Event-Driven SOA: EDA in an SOA World Ken Wilner Vice President of Technology.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
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.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University February 07, 2005.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
The Client/Server Database Environment
Distribution and components
Introduction to Web Services and SOA
Inventory of Distributed Computing Concepts and Web services
Service-centric Software Engineering
Enterprise Application Integration Styles
Service-centric Software Engineering 1
Service Oriented Architecture
Inventory of Distributed Computing Concepts
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Service Oriented Architecture + SOAP
WEB SERVICES DAVIDE ZERBINO.
Introduction to SOA and Web Services
Introduction to Web Services and SOA
Presentation transcript:

Technology of information systems Lecture 2 Architecture

Technology of information systems Contents Definition of architecture Architectures of the past Modeling frameworks SOA framework

Technology of information systems Definition of architecture (1) System development requires orchestration, the architecture is the musical composition. Architecture is used: 1.to divide and conquer 2.to define and select components 3.to test and integrate components 4.to manage a system when it is operational

Technology of information systems Definition of architecture (2) Definitions: Architecture of a system is: a consistent set of views and rules of the system Each view (model) consists of: –the set of components the system is made of –the external properties of the components –the relationships between the components A rule is a constraint on a view or on a combination of views

Technology of information systems Definition of architecture (3) Two types of relationships between components in one view: –relations e.g.: “uses”, control flow, data flow interaction –structural relations e.g.: is-part-of, is- specialization-of Many types of relationships between views and between components of different views, e.g. is-realized-by, is- implemented-on

Technology of information systems business architecture process model information model software architecture: logical model…………..... physical model infrastructure Definition of architecture (4)

Technology of information systems Definition of architecture (5) Architecture is more than views and rules: Architecture languages: modeling languages to describe the views Architecture patterns: standard solutions for generic problems Architecture principles: in fact standard structural rules (to be adopted or modified in a specific architecture)

Technology of information systems Challenges for software architects 1.To isolate functionality in a generic component Clear, generic functionality required Business plan needed: market analysis, who is the vendor, do the benefits cover the costs? 2.To deal with overlapping functionality: Which one to use? If both have to be used, how do we synchronize them? 3.Reshuffling of functionality 4.Use of architecture in systems management Definition of architecture (6)

Technology of information systems Architectures of the past (1) Client-Server: separates the client (often a graphical user interface) from the server; each instance of the client software can send requests to a server or application server; majority of logic resides on client Distributed Internet: custom software client is replaced by browser; web servers contain the application logic Hybrid Web Service: web services are used as wrappers to facilitate communication with other applications (point-to-point) SOAs are built with a set of Web services designed to collectively automate one or more business processes; a natural interoperability emerges that transcends proprietary application platforms (loose coupling)

Technology of information systems Integration methods Synchronous method invocation: –Remote Procedure Call –Transaction Processing monitor (transactional RPC) –Object broker (Object-oriented RPC): COM+, CORBA Asynchronous interaction: –Message-oriented middleware (point-to-point message queue) Enterprise Application Integration –Message broker (hub and spoke queue with application logic) –Workflow mgmt. system (design and enact composition logic) Web technologies –Remote clients: Applets, CGI, servlets –Application Servers (Web as access channel) –Common data representation: EDIFACT and XML See Alonso e.a. chapter 2 till 4 for details Architectures of the past (2)

Technology of information systems Modeling frameworks(1) We distinguish Process models Data models Component models Specification languages Integrated frameworks

Technology of information systems Modeling frameworks(2) Process models are used for: Computer support of business processes (workflow management systems) Orchestration within components Choreography between components Process models

Technology of information systems Modeling frameworks(3) Many process modeling frameworks: “Academic” frameworks (formal basis) –Transition systems (automatons) where the transitions might be labeled by an event –Petri net (P/T nets, colored Petri nets) –Process algebra’s (CCS, CSP, ACP, Pi-calculus) “Industrial” frameworks –State charts (UML) –Activity diagrams (UML) –Business Process Modeling Notation (BPMN) –Event-driven Process Chains (EPC) –Business Process Execution Language (BPEL) –Many proprietary frameworks

Technology of information systems Modeling frameworks(4) Academic frameworks: They all have semantics as transition system Transition systems are inconvenient for modeling large systems, therefore we need Petri nets or process algebra’s Two ways of modeling –State-oriented, i.e. we assume we can only observe the states –Event-oriented, i.e. we assume we can observe only the events that cause the transitions Process algebra’s are event-oriented Petri nets have both views and a graphical language

Technology of information systems Modeling frameworks(5) Industrial frameworks: They have an informal semantics, which is dangerous! They all have a graphical syntax except for BPEL BPMN is an attempt to standardise the many industrial frameworks UML is another attempt

Technology of information systems Modeling frameworks(6) Data models: Data models for data bases –Relational model(s) –Entity-relationship model(s) –Functional data model –Class model (UML) –Resource Description Framework (RDF) (for meta data) Data models for data exchange –Edifact –XML –RDF

Technology of information systems Modeling frameworks (7) Component models: –Architecture Description Languages (ADL) (e.g. Darwin, Koala) –SOA frameworks (e.g. Service Component Architecture (SCA) of IBM and others) Specification languages: –For specifying actions (operations) on data –Functional or logical languages –Z, VDM and B, state oriented specifications –Algebraic specifications, operation oriented specifications

Technology of information systems Example: Koala constructs module: interface-less component that can glue interfaces switch: conditional function binding to route calls to appropriate components m s Modeling frameworks (8)

Technology of information systems Inventory CS: Z-schemata II Modeling frameworks (9) Example: Z-schema

Technology of information systems Modeling frameworks (10) Integrated frameworks combine –Process model –Specification language –Examples: CPN-tools, combines Petri nets with the functional language ML RoseRT, combines state charts, a component model (capsules) with C++ There is no integrated framework with a data model inside (to our knowledge)

Technology of information systems Service Oriented Architecture (SOA) Service: procedure, method or object with stable, published interface that can be invoked by clients (program calling another program) SOA: architecture that defines the use of services to support the requirements of software users in a SOA environment, resources on a network are made available as independent services that can be accessed without knowledge of their underlying platform implementation SOA is usually based on web services standards SOA can also be regarded as a style of enterprise architecture SOA framework (0)

Technology of information systems Supplier Service contract Service Client Service broker Search Publish ttp function Economical paradigm: each component should create value for its clients SOA framework (1)

Technology of information systems Two faces of each component Components should create value (otherwise they are useless) A component offers services to clients In that role a component is a service provider In order to deliver their service components often need services of other components In that role a component is a service requestor So a component has a sell side and a buy side interface SOA framework (2)

Technology of information systems Choreography Choreography: dynamic network of components Each service request starts a supply chain, which is in fact a transaction demand trigger sell sidebuy side SOA framework (3)

Technology of information systems SOA framework (4) Atomic component, consists of 4 type of elements: –Process –Data entity (composite) –Method –Interface ( also port) Composite component: –Container for components –Atomic or composites

Technology of information systems Functional view of an atomic component Process layer (wf model) Activities ( tasks, events) Data layer (data model) Variables (volatile and persistent) Connection: activities call methods and update variables SOA framework (5)

Technology of information systems SOA framework (6) Process: –Ordered set of activities –Used for orchestration of the service Composite data entity: –Atomic entities –Relationships between them

Technology of information systems SOA framework (7) Method: call can change the value of a data entity Interface ( also port): –Sell and buy interfaces –Has a set of operations (reusable!) –Operation type defines message exchange pattern (WSDL1.1) One-way Request-response Solicit-response Notification

Technology of information systems SOA framework (8) Activities may: –Call methods and access data entities via methods –Exchange messages via operations Activities have a sphere: –set of accessible data entities (by means of method calls)

Technology of information systems SOA framework (9) Wiring in composite components Horizontal: between components at same level Vertical: between parent and child components SCA picture IBM’s framework: Service Component Architecture

Technology of information systems SOA framework (10) (Atomic) components can have many instances, also called cases Each case is a service instance for a specific client Each case has its own ID Components have case activities and case entities Case activities form a case process Besides this we have base process, with base activities and base entities. Base process is active as long as the component exists (persistent) Case process is active as long as a case exists (volatile) Base data can be auxiliary data or aggregated case data Instantiation

Technology of information systems SOA framework (11) Cases can create or use cases in other components If it uses another case it needs a reference or a criterion to find it Messages related to the cases should be matched: this is correlation a b c d ab ab knows has sent its name Correlation

Technology of information systems SOA framework (12) SOA meta model

Technology of information systems SOA framework (13) BPEL as process model

Technology of information systems SOA framework (14) Petri net as process model

Technology of information systems Example : Aggregating Services into SOA BizTalk Server 2006 Engine Packaged Application Unix Application J2EE Application CICS Application AS/400 Application Web Services Clients SOA framework (15)

Technology of information systems Case: LaQuSo Repository SOA framework (16) Example