Скачать презентацию Lecture 2 Architecture Technology of information systems Скачать презентацию Lecture 2 Architecture Technology of information systems

09712441844afa425d63c407a5b71239.ppt

  • Количество слайдов: 37

Lecture 2 Architecture Technology of information systems Lecture 2 Architecture Technology of information systems

Contents • • Definition of architecture Architectures of the past Modeling frameworks SOA framework 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. Definition of architecture (1) System development requires orchestration, the architecture is the musical composition. Architecture is used: 1. 2. 3. 4. to divide and conquer to define and select components to test and integrate components 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 Definition of architecture (2) Definitions: • Architecture of a system is: a consistent set of views and rules of the system • Each view is a model and 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: Definition of architecture (3) • Two types of relationships between components in one view: – dynamical relations e. g. : “uses”, control flow, data flow interaction – structural relations e. g. : is-part-of, isspecialization-of • Many types of relationships between views and between components of different views, e. g. is-realized-by, isimplemented-on Technology of information systems

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

Definition of architecture (5) Architecture is more than views and rules: • • • 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

Definition of architecture (6) Challenges for software architects 1. To isolate functionality in a Definition of architecture (6) 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 Technology of information systems

Architectures of the past (1) • Client-Server: separates the client (often a graphical user 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; 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) Technology of information systems

Architectures of the past (2) Integration methods • Synchronous method invocation: – Remote Procedure Architectures of the past (2) 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, servlets, CGI (common gateway interface) – Application Servers (Web as access channel) – Common data representation: EDIFACT and XML See Alonso e. a. chapter 2 till 4 for details Technology of information systems

Modeling frameworks(1) We distinguish • • • Process models Data models Component models Specification 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: • Enactment of business processes (workflow management Modeling frameworks(2) Process models are used for: • Enactment of business processes (workflow management systems) • Orchestration within components • Choreography between components Technology of information systems

Modeling frameworks(3) Many process modeling frameworks: • “Academic” frameworks (formal basis) – Transition 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 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! • 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) – 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) 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

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

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

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

SOA framework (0) Service Oriented Architecture (SOA) • Service: procedure, method, object or agent SOA framework (0) Service Oriented Architecture (SOA) • Service: procedure, method, object or agent with stable, published interface that can be invoked by clients • 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 paradigm: services as autonomous business units – each component should create value for its clients – dynamic service binding Technology of information systems

SOA framework (1) Service broker Search Publish Service contract Client Supplier ttp function Service SOA framework (1) Service broker Search Publish Service contract Client Supplier ttp function Service ttp= trusted third party Technology of information systems

SOA framework (2) Two faces of each component • Components should create value (otherwise SOA framework (2) 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 Technology of information systems

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

SOA framework (4) • Atomic component, consists of 4 type of elements: – Process SOA framework (4) • Atomic component, consists of 4 type of elements: – Process – Data variable (composite) – Method (operation) – Interface (ports) • Composite component: – Container for components – Either atomic or composite Technology of information systems

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

SOA framework (6) • Process: – Ordered set of activities – Used for orchestration SOA framework (6) • Process: – Ordered set of activities – Used for orchestration of the service • Composite data variable: – Atomic variables (in ER terminology: entities) – Relationships between them Technology of information systems

SOA framework (7) • Method: call can change the value of a data variable SOA framework (7) • Method: call can change the value of a data variable • Interface (ports): – Sell and buy ports – Has a set of operations (reusable, not the same as method) – Operation type defines message exchange pattern (WSDL 1. 1): client service provider • • One-way Request-response Solicit-response Notification Technology of information systems

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

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

SOA framework (10) Instantiation • (Atomic) components can have many instances, also called cases SOA framework (10) Instantiation • (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 Technology of information systems

SOA framework (11) Correlation • Cases can create or use cases in other components SOA framework (11) Correlation • 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 b a knows a d c Technology of information systems b a name sent b but a does not know b

SOA framework (12) SOA meta model 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 (13) BPEL as process model Technology of information systems

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

SOA framework (15) Example of industrial information Aggregating Services into SOA Biz. Talk Server SOA framework (15) Example of industrial information Aggregating Services into SOA Biz. Talk Server 2006 Engine Web Services Clients J 2 EE Application Unix Application CICS Application Packaged Application Technology of information systems AS/400 Application

SOA framework (16) Example Case: La. Qu. So Repository Technology of information systems SOA framework (16) Example Case: La. Qu. So Repository Technology of information systems