Title: Transaction Integrity in Componentbased Systems
1Transaction Integrity in Component-based Systems
- Kees M. van Hee
- Dept. of Mathematics and Computer Science
2Agenda
- Information systems versus embedded systems
- Component-based world
- Software architecture
- Transaction integrity
3Info systems vs embedded systems
- What do information systems do?
- monitoring of (business) processes
- planning of (business) processes
- execution of (business) processes
- How?
- registration of states of objects and events
- generation of management information
- generating or evaluating decisions
- facilitating the cooperation between people
- processing of transactions
4Info systems vs embedded systems
- information systems support business processes
inside an organisation, or - between two or more organizations (so called
inter-organizational i.s.) - embedded systems (e.s.) support physical devices
- e.s. have more simple data structures
- e.s. have stronger time and resource constraints
- despite the differences, most methods apply to
both types of systems
5Component-based world (1)
- System network of components
- both hardware and software
- components may reside anywhere
- components are specified and recognized by their
function and their interface interface
protocol data types
user interface
component
monitor interface
configuration interface
software interface
6Component-based world (2)
- e.g. a Telco operator is built of ca 20 COTS
components
7Component-based world (3)
- Different types of components
- application components contain business logic
- generic components support application components
and have no business logic
8Component-based world (4)
- Parameters of predefined components
- parameters are options, selected from a list or
input as simple data (often a tree of option
lists) - limited flexibility, but easy to use
- little ICT knowledge but much application
knowledge required
- Parameters of programmable components
- parameters are models, like data models and
process models - the model defines the function of the component
- special languages to make models (often diagrams)
- very flexible, but advanced ICT knowledge
required
9Component-based world (5)
- Component based development is different
- requirements are determined
- an architecture is designed
- components are specified
- components are selected form vendors or
constructed from scratch - configuring components parameter setting
- integration is connecting components interfaces,
often via middleware - Programming configuring integration
- the architecture is essential
10Component-based world (6)
- component-based systems will behave in an
organic way - periodically components will be replaced by
better ones - new functionality will be realised by new
components - vendors will compete with the best functionality
of their individual components - prepacked solutions will be offered by third
parties - combinations of components with parameters that
can be used as a new predefined component - prepacked solutions can be made by third
parties - prepackers will compete with vendors of
packages - components may be outsourced to an ASP
11Features of IS to be componentized
Component-based world (7)
- Data management
- User interaction
- Business process
- Business logic
- Component coordination
- Security control
12Generic components and some vendors
Component-based world (8)
- Oracle, Sybase
- OpenIMS, Worldox
- Business objects, Cognos
- Tridion, Tekfuse CMS
- Apache, IIS
- WebLogic (BeaSys), Borland Enterprise Server
- FairIsaac, ILOG
- Staffware, Cosa
- BizTalk, Tibco
- Database man. system
- Document man. system
- Datawarehouse / Dataminer
- Content man. system
- Webserver
- Application server
- Rule engine
- Workflow man. system
- Coordination engine
13Component-based world (9)
Web Server
ApplicationServer
Rule Engine
Workflow Engine
Coordination Engine
Application
Application
Database Manager
Data Warehouse
ContentManager
Document Manager
14 Software architecture (1)
- System development requires orchestration
- the architecture is the musical composition.
- Architecture is used
- to divide and conquer
- to define and select components
- to test and integrate components
- to manage a system when it is operational
15Software architecture (2)
- Definitions
- Architecture of a system a consistent set of
views and rules of the system - A view is a model of a system (often a graph)
- Views are related to each other
- Rule is a constraint on a view or on a
combination of views - Architecture language a language to define views
- Architecture pattern standard solution for
generic problem
16Software architecture (3)
Example
- business architecture
- process model
- information model
- software architecture
- logical model.....
- physical model................
- infrastructure
17Software architecture (4)
- Component-based architecture
- Components have 4 layers
- Ports to communicate
- Processes with tasks (actions, events)
- Objects to store data, accessible by methods
- Subcomponents
- Processes determine the behavior
- Tasks exchange messages through ports with other
components - Tasks execute operations on objects by method
calls - (Yaffa Yet another framework for architecture)
18Software architecture (5)
- Processes are the heart of a component
- Can be modeled in different ways e.g.
- Transition system
- Process algebra
- Petri net
- Uml Activity Diagram
- BPMN
- BPEL
- Components execute transactions, tiggered
externally
19Transaction integrity (1)
- Transactions may start up sub transactions in
other components - Transactions should have a clearly defined start
and end event - Two correctness criteria
- Proper completion transactions should always be
able to terminate with an end event, and they
should not leave any unfinished work - Invariants constraints on the objects of a
component should hold as soon as a component has
finished its transactions
20Transaction integrity (2)
- If we use Petri nets as modeling vehicle
- Processes that are model transactions have the
structure of workflow nets - Proper completion is called soundness
- Soundness is decidable and there are software
tools to check it
21Transaction integrity (3)
- Example with Yasper
- A two component system
- Webservice for query processing
- Processing is outsourced to a second component
- Clients pay in advance
- If the second component has not answered all
questions before the client stops the payment is
refunded - Are transactions handeled correctly?
22Challenges for software architects
Challenges
- The correct orchestration of components
- 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? - To deal with overlapping functionality
- Which one to use?
- If both have to be used, how do we synchronize
them? - Reshuffling of functionality