Download presentation
Presentation is loading. Please wait.
Published byAnabel Carpenter Modified over 8 years ago
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.