1 / 42

Student SOA Lab

This framework provides students with the ability to build information systems using SOA principles, custom components, and integration with external services. It also offers instructors the tools to test and gain insight into the systems built by students.

millerhenry
Download Presentation

Student SOA Lab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 1 Service 4 Service 2 Service 3 Service 5 Service 7 Service 6 Advantage SOA = Loose Coupling

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

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

  7. Student SOA LabFunctionality • 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 – RealizationConcept Student-Made System Student SOA Lab • Exercise Dependent Part: • Context components • Exercise Independent Part: • Generator/Collector • Student-System I/O Logger • Execution Trace Logger IBM WebSphere

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

  10. IBM WebSphere ProductsRuntime Stack WebSphere BusinessServices Fabric CompositeBusinessApplications ProcessChoreography WebSphere Process Server ServiceConnectivity WebSphere ESB WebSphere Application Server ND AdvancedClustering WebSphere Application Server RuntimeFoundation Image: courtesy IBM

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

  12. IBM WebSphereService Component Architecture (SCA) Component Interface:How to call this component Reference:What thiscomponents calls • 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 UniformRepresentation ofencapsulatedImplementation Image: courtesy IBM

  13. IBM WebSphereImplementation 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 WebSphereBPEL(1) • Work-flow like language • Start / End • Activities: assign, invocation, receive, reply • Structures: while, foreach, choice, parallel activities

  15. IBM WebSphereBPEL(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 WebSphereHuman Task To-do task Invocation 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

  17. IBM WebSphereInterface • 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 WebSphereCommon Data Model • XML Schema Definition (XSD) • in WID: records • Nested complex data-types • Inheritance Image: courtesy IBM

  19. IBM WebSphereService 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 SAP • Adapters enable integration with other systems and technologies • SAP, Siebel, JD Edwards, Peoplesoft, JDBC, ILOG • Email, file system SAP Adapter

  21. IBM WebSphereModules • 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 WebsphereModules Module A Module B • Protocols available for export • SCA • Web Service (SOAP/HTTP, SOAP/JMS) • MQ, JMS Comp Q Comp P Export Import

  23. IBM WebSphereModules 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 Human Task BPEL Business Process Business State Machine Business Rules 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 LabExercise 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 LabExercise Independent Part Student System Student-System I/O Logger Generator/ Collector Execution Trace Logger JDBC Adapter Student SOA Lab Export Import

  27. Student SOA LabExercise Independent Part

  28. Student SOA LabExercise 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 LabExercise Dedependent Part Student System Context Import Student-System I/O Logger Generator/ Collector Execution Trace Logger JDBC Adapter Student SOA Lab Export Import Export

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

  31. Use CasesSupply 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 SystemContext Components • LogInternalOrders • Log orders between suppliers • LogInventoryChanges • Log changes in the inventory of warehouses

  33. Supply Chain Management SystemArchitecture Service Broker Service Router Factory Factory Warehouse Warehouse

  34. SCM Module

  35. Use CasesOpen 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 SystemContext 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 SystemArchitecture Course Register ExaminationsCommittee ExaminationsCommittee Central Register Student Bank Teacher University University Teacher

  38. OUS Module

  39. DemonstrationTesting 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?

More Related