390 likes | 494 Views
Syed Saif ur Rahman 1 , Azeem Lodhi 2 , Nasreddine Aoumeur 2 , Claus Rautenstrauch 2 , Gunter Saake 1. INTRA-SERVICE ADAPTABILITY FOR ECA-CENTRIC WEB SERVICES USING CONTRACT AND ASPECT.
E N D
Syed Saif ur Rahman1, Azeem Lodhi2, Nasreddine Aoumeur2, Claus Rautenstrauch2, Gunter Saake1 INTRA-SERVICE ADAPTABILITY FOR ECA-CENTRIC WEB SERVICES USING CONTRACT AND ASPECT 1Database Research Group, 2Business Informatics Group, School of Computer Science, University of Magdeburg, Germany {srahman, mkhanlod, aoumeur, claus.rautenstrauch, saake} @iti.cs.unimagdeburg.de
Agenda • Motivation • Approach • Implementation • Conclusion
Motivation • Business domain • Competitive • Changing • Managed through information systems • Information system • Need to adapt to changes in business • Adaptability
Motivation • Adaptive Information system • Information system developer • User requirements change • Business processes and activities are not well documented • Information system customization • For heterogeneous domains with unique business processes • Information system maintenance • Precisely identify the impact of change • High maintenance cost
Case Study: Scenario Business Systems Banking Hotel Management Airline Travel Agency 5
Case Study: Scenario Banking System Business Processes Account Opening Cash Management With Draw Deposit Cash Transfer Domestic Foreign Personal Management Payroll Costing 6
Case Study: Scenario Banking Cash With Draw Activity Balance Check Account Type Check Credit Limit Interest Rate With Draw Tax Debit May trigger cash deposit activity for interest deposit 7
Case Study: Scenario Banking System Customer-tailored services Cash Withdraw activity Participating partners Customer Account Bank 8
Case Study: Scenario Customer Can own one or more account Each account can be of different category VIP Can enjoy credit limit Normal No credit limit 9
Approach • Adaptive information system • Service-oriented computing • Web services • Workflow management system • Rule-based • ECA (Event-Condition-Action) centric • Contract • Aspect-oriented programming • Information system adaptability • At finer granularity i.e. Activity level • At coarser granularity i.e. Process level
Approach: Workflows • A workflow is the automation of a business process, in whole or in part, during which documents, information, or tasks are passed from one participant to another for action, according to a set of procedural rules • Rules-based predictable execution of activities/operations
Approach: Workflows • Intra-activity • Within single activity • Defines how activity is executed internally in terms of operations • Inter-activity • Across several activities • Defines how multiple activities are executed with in process
Approach: Workflows Rules defined as ECA Event Condition Action 14
Approach: Workflow Management System Interpret workflows Creates and manages execution We propose the use of Workflow Management System to control intra-activity operations execution Workflow rules are updatable at runtime 15
Approach: Contract • Relationship between • Partners • Within process or activity • Instantiated during workflow execution • Based on • Participating partners • Rules • Contract can be canceled • Customer can have different contract with account • For each rule • i.e. Different credit limit and interest rates
Approach: Aspect-Oriented Programming • Aim to separate cross-cutting concerns • Prevents • Code tangling • Code scattering • Ensures • Scalability • Maintenance • Separates cross-cutting code as Aspect • Aspect weaver brings program code and Aspect together • Using join-points, point-cuts and advice information
Aspectual Adaptation • Adaptation • Operations defined as aspect • Weaving decision based on rules • Benefits • Adaptable operation execution • Cleaner implementation • Operation loaded when needed • Better performance and easy upgrade
Aspectual Adaptation Account Aspect Weaver (Workflow Engine) Aspects Debit DeductInterest() WithDrawTax() … Debit Code … RecalcualteBalance() ECA (Weaving Details) DeductInterest ReCalculateBalance WithDrawText 21
Case Study: Implementation Technologies • .NET Web Services • Windows Workflow Foundation • Spring .NET AOP Framework
Case Study: Implementation • Services used to implement activities • Each service executes activity workflow based on • Contract • Instantiated based on executed rule • Rules • Add/remove cross-cutting or optional operations 35
Summary • Adaptive information system • Service oriented architecture • Simplicity • Interoperability • Workflows at intra-activity execution • Based on ECA Rules • Contract • Instantiation at Rule level • Aspect-oriented programming • Adaptability • Clean and scalable implementation