Dia 1

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.
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 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:
– 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 components
model…………....
physical components
model..................
Infrastructure……………….
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
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 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 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 languages
Integrated frameworks
Technology of information systems
Modeling frameworks(2)
Process models
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 (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
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 (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 real data model
inside (to our knowledge)
Technology of information systems
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
ttp= trusted third party
Technology of information systems
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 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
– 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
object layer
I0
• Process layer:
Comdef
Vcon
• Activities ( tasks, events)
Task
Q1
Pinc
Q0
T0
• Data layer:
P0
T2
• Variables (volatile or
persistent)
P1
P2
O
Procdef
I2
C0 P3
C1
Portdef
process layer
Objdef
T0T1
Cinc
• Connection: activities call
methods and update
variables
Hcon
Technology of information systems
I1
E2
I3
Cinst
E3
E0
E1
Oval
E1
Pstat
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
• Interface (ports):
– Sell and buy ports
– Has a set of operations (reusable, not the same as method)
– Operation type defines message exchange pattern (WSDL1.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 methods
– Exchange messages via
operations
object layer
I0
Comdef
Vcon
Task
Q1
Pinc
Q0
T0
P0
T2
P1
P2
O
process layer
Objdef
T0T1
Cinc
Hcon
• Activities have a sphere:
Procdef
I2
C0 P3
C1
Portdef
I1
E3
Cinst E0
E1
Oval
E1
– set of accessible data
variables (by means of
method calls)
Technology of information systems
E2
I3
Pstat
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
• 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
• 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
knows
a
b
a
a
d
c
Technology of information systems
name sent
b
but a does not know b
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
SOA framework (15)
Example of industrial information
Aggregating Services into SOA
BizTalk Server 2006 Engine
Web Services
Clients
J2EE
Application
Unix
Application
CICS
Application
Packaged
Application
Technology of information systems
AS/400
Application
SOA framework (16)
Example
Case: LaQuSo Repository
Technology of information systems