Presentation is loading. Please wait.

Presentation is loading. Please wait.

Student SOA Lab Framework for development and testing of information systems Peter Leijten TU\e.

Similar presentations


Presentation on theme: "Student SOA Lab Framework for development and testing of information systems Peter Leijten TU\e."— Presentation transcript:

1 Student SOA Lab Framework for development and testing of information systems Peter Leijten TU\e

2 Contents SOA Student SOA Lab ▫Functionality ▫Realization  IBM Websphere Use Cases Demonstration Summary

3 Service Oriented Architecture (SOA) Principles for the architecture of information systems Architecture consists of service consumers, service providers and a service broker Service providers handle requests from service consumers ▫A service provider may also be a service consumer Service contract specifies the accessibility of a service Service contract is implemented by an interface Service Broker ▫Publication of services ▫Helps service consumers to find service providers Separating the how from the what ▫Implementation is separated from the interface

4 SOA Example Service 1Service 4Service 2Service 3Service 5Service 7Service 6 Advantage SOA = Loose Coupling

5 SOA Example Service 8Service 9 Loose Coupling: Easy change Service 1Service 4Service 2Service 3Service 5Service 6

6 SOA Example Service 10 Service 11Service 8Service 12 Loose Coupling: Easy change Re-use Service 9

7 Student SOA Lab Functionality Students are able to build an information system (SOA) ▫Custom components ▫Use of Components off-the-shelf (COTS) ▫Integration with external services Instructors must be able to offer students realistic exercises ▫Definition of a context ▫Logging through context-components Instructors must be able to test and gain insight in the systems build by students ▫Manual/Automated testing

8 Student SOA Lab – Realization Concept Student-Made System IBM WebSphere Student SOA Lab Exercise Independent Part: Generator/Collector Student-System I/O Logger Execution Trace Logger Exercise Dependent Part: Context components

9 IBM Websphere Products WID Concepts ▫SCA ▫Implementation Technologies ▫BPEL ▫Human Task ▫Interface ▫Common Data Model ▫SDO ▫Adapters ▫Modules ▫CEI

10 IBM WebSphere Products Runtime Stack WebSphere Application Server WebSphere Application Server ND WebSphere ESB WebSphere Process Server Runtime Foundation Advanced Clustering Service Connectivity Process Choreography WebSphere Business Services Fabric Composite Business Applications Image: courtesy IBM

11 IBM Websphere Websphere Integration Developer Integrated Development Environment Provides visual editors for the development of components and the assembly of components Enables deployment of components

12 IBM WebSphere Service Component Architecture (SCA) Component Model ▫Interface (sell side) ▫Reference (buy side) ▫Implementation (independent of technology) Realizes part of SOA ▫Component provides a service through its interface ▫Component consumes services through a reference ▫Not: Service broker Uniform Representation of encapsulated Implementation Component Reference: What this components calls Interface: How to call this component Image: courtesy IBM

13 IBM WebSphere Implementation Technologies BPEL (Business Process Execution Language) ▫XML-based language ▫Business Processes ▫Orchestration/Choreography Java Human tasks Business rules ▫Contains rules which are deduced from company policy or legal regulation ▫Information System has to respect these rules

14 IBM WebSphere BPEL(1) Work-flow like language ▫Start / End Activities: assign, invocation, receive, reply Structures: while, foreach, choice, parallel activities

15 IBM WebSphere BPEL(2) Long-running/Microflow Scopes ▫Sub-process ▫isolation ▫Fault handler ▫Compensation handler (long-running) ▫Event handler (long-running) Correlation (Long-running) ▫Find the right instance of a process ▫Field in the input for identification

16 IBM WebSphere Human Task Three types of tasks ▫To-do task (service to human) (visual editor) ▫Invocation task (human to service) (visual editor) ▫Collaboration task (human to human) (API) Two types of collaboration tasks ▫Subtasks, follow-on tasks Escalations, three kinds of escalation ▫Ready, claimed and subtask Task queue available through Java API To-do task Invocation task

17 IBM WebSphere Interface Web Service Definition Language (WSDL) One or more operations Type of operations ▫One-way  One or more input fields ▫Request/Response  One or more input fields  One or more output fields  Faults

18 IBM WebSphere Common Data Model XML Schema Definition (XSD) in WID: records Nested complex data-types Inheritance Image: courtesy IBM

19 IBM WebSphere Service Data Object (SDO) Technology that allows heterogeneous data to be accessed in a uniform way Java library Use of common data model in Java ▫DataObject Example: Assigning value to field firstname in DataObject DO: ▫DO.setString(“Piet”, customer/firstname);

20 IBM WebSphere Adapters Adapters enable integration with other systems and technologies ▫SAP, Siebel, JD Edwards, Peoplesoft, JDBC, ILOG ▫Email, file system SAP Adapter SAP

21 IBM WebSphere Modules Modules are used in WebSphere to group components and make components available Consists of one or more components Components within a module can interact Components within a module can be made available to systems outside of the module by using export components

22 IBM Websphere Modules Module AModule B ExportImport Comp Q Comp P Protocols available for export ▫SCA ▫Web Service (SOAP/HTTP, SOAP/JMS) ▫MQ, JMS

23 IBM WebSphere Modules Human Task Business State Machine BPEL Business Process Business Rules Java Application All components (e.g., services, rules, human interactions) are represented consistently and invoked in the same way (SCA) Best practice for SOA development ▫Define services ▫Orchestration of services using BPEL Image: courtesy IBM

24 IBM WebSphere Common Event Infrastructure (CEI) Enables the emitting, storing and retrieving of events Events can be emitted from different levels ▫Component ▫BPEL Events are stored in a Apache Derby Database Retrieving of events using a Java API

25 Student SOA Lab Exercise Independent Part Generator/Collector ▫Enables instructor to test a system  Automated generation of test-cases  Manual input of test-cases  Collection of system output Student-System I/O Logger ▫Enables logging of input, output and intermediate output Execution Trace Logger ▫Retrieves and parses CEI-events

26 Student SOA Lab Exercise Independent Part Student SOA Lab Student System Student- System I/O Logger Generator/ Collector Execution Trace Logger Export Import JDBC Adapter

27 Student SOA Lab Exercise Independent Part

28 Student SOA Lab Exercise dependent part Context-components (external services) are predefined Students are required to integrate context- components in their system Context-components can be used to gain insight in systems ▫Logging

29 Student SOA Lab Exercise Dedependent Part Student SOA Lab Student System Student- System I/O Logger Generator/ Collector Execution Trace Logger Export Import JDBC Adapter Export ContextImport

30 Student SOA Lab concept Student-Made System IBM WebSphere Student SOA Lab Exercise Dependent Part Execution Trace Logger Stud-Sys I/O Logger Generator/ Collector Exercise Independent Part CEI Apache Derby Student- System Init Context Component 1 Context Component 2 Component B Component A

31 Use Cases Supply Chain Management System Customers, Factories, Warehouses, Service Broker Factories fabricate a certain set of products ▫The fabrication process might need parts to complete. Warehouses have inventories which hold products ▫Warehouses keep their inventories replenished Service broker provides list of suppliers for a given product

32 Supply Chain Management System Context Components LogInternalOrders ▫Log orders between suppliers LogInventoryChanges ▫Log changes in the inventory of warehouses

33 Supply Chain Management System Architecture Service Broker Service Router Warehouse Factory Warehouse Factory

34 SCM Module

35 Use Cases Open University System Student ▫Must be able to follow courses of his/her choice on the university of his/her choice University ▫Must allow students to follow courses (administration) Bank ▫Enables payments for external registrations Teacher ▫Evaluates examinations for courses from students Examinations Committee ▫Evaluates external registrations of students Course Register ▫Offers information to students

36 Open University System Context Components Central Register ▫Retrieve students ▫Retrieve universities ▫Retrieve courses ▫Retrieve prior knowledge ▫Retrieve courses offered by a given university ▫Log external registration ▫Log fulfilled payment Retrieval interactions are logged

37 Open University System Architecture StudentBank Course Register Central Register Teacher Examinations Committee Teacher Examinations Committee University

38 OUS Module

39 Demonstration Testing OUS using Student SOA Lab Manual testing ▫Student 1 wants to follow course 10 at university 3 ▫Student 8 wants to follow course 16 at university 3 Automatic test generation ▫Generate 3 test cases: ▫Student can be student 1 to 10 ▫Course can be course 1 to 20 ▫University can be university 1 to 5

40 OUS Testing Manual: StudentGroupName (string) : OUS StudentSystemPartner (string) : StudentPartner OperationName (string) : student TestCasesListName (string) :CourseRegistrationDataList OutputName (string) : output TestCases (anyType) : CourseRegistrationDataList (CourseRegistrationData[]) : CourseRegistrationDataList[0] (CourseRegistrationData) : StudentId (integer) : 1 CourseId (integer) : 10 UniversityId(Integer) : 3 CourseRegistrationDataList[1] (CourseRegistrationData) : StudentId (integer) : 8 CourseId (integer) : 16 UniversityId(Integer) : 3

41 OUS testing Test-case generation: StudentGroupName (string) : OUS StudentSystemPartner (string) : StudentPartner OperationName (string) : student NameType (string) : CourseRegistrationData NamespaceType (string) : http://OUSLib TestCaseAmount (integer) : 3 OutputName (string) : output TestCaseData (FieldDataList) :

42 Questions?


Download ppt "Student SOA Lab Framework for development and testing of information systems Peter Leijten TU\e."

Similar presentations


Ads by Google