Download presentation
Presentation is loading. Please wait.
Published byCaitlin Francis Modified over 8 years ago
1
Wednesday, March 16, 2016 PESC + SOA A flexible and distributed SOA architecture to implement the PESC Standard Jam Hamidi jhamidi@bccampus.ca
2
Page |BCcampus | connect. collaborate. innovate. Higher Education in BC 4 research universities 6 teaching universities 11 colleges 4 institutes 25 public post-secondaries
3
Page |BCcampus | connect. collaborate. innovate. Collaborate Connect BCcampus Role Innovate
4
Page |BCcampus | connect. collaborate. innovate. Student Services: PASBC
5
Page |BCcampus | connect. collaborate. innovate. Collaboratives & Shared Services Applied Business Technology Northern Collaborative for Information Technology Aboriginal Early Childhood Education
6
Page |BCcampus | connect. collaborate. innovate.6 BCcampus PESC+SOA Enterprise Integration Patterns Science of Enterprise Integration Common patterns – Body of knowledge and vocabulary: Hohpe & Woolf good introduction. Service as unit of processing Many small Services connected together to become concurrent Applications. Enterprise Service Bus as messaging glue Highways and ramps and capillaries Synchronous and Asynchronous messages Webservice interfaces Security is built-in.
7
Page |BCcampus | connect. collaborate. innovate.7 BCcampus PESC+SOA BCcampus Connectors Connectivity Communication Transformation Portability Security Standards
8
Page |BCcampus | connect. collaborate. innovate.8 BCcampus PESC+SOA BCcampus Requirements Flexibility Reusability Commonality Low man-hours Quick turn-around Short Cycle Coexistence
9
Page |BCcampus | connect. collaborate. innovate.9 BCcampus PESC+SOA How do we? Deal with various data formats? Get to the data in other places? Push data to other places? Deal with the changeable nature of systems outside of our control? Standardize our processes? Implement our services? Make sure we’re secure? Make the Octopus manageable?
10
Page |BCcampus | connect. collaborate. innovate.10 BCcampus PESC+SOA First Steps Data Driven Don’t invent Data Types: Import Data Models and become good at it: PESC Standards, Institution Schemas, Government templates. Everything becomes an XML Schema. Accept the fact that the Data Models will change Historic Data may be fixed, but Standards evolve, Implementation schedules vary. Will have to handle multiple versions simultaneously. Everything is automatically generated from the Schemas Communication layers Java programs that access or marshal data types Presentation layer code, javascript, SOAP, WebServices. Datastore layers: Can’t be dealing with manual mapping in code to Database columns anymore, too many types, too time consuming.
11
Page |BCcampus | connect. collaborate. innovate.11 BCcampus PESC+SOA Service Oriented Divide up Large Scale programs into Services Use Integration patterns: Messaging Bus (Asynchronous, Many to one, one to Many, Idempotent, etc..) Message Routers (Based on topic, or load, or message data) Wire tap (Management and Monitoring) Splitters / Aggregators Many Simple Services that can be wired up with Spring Reuse (for example DB Storage Service)
12
Page |BCcampus | connect. collaborate. innovate.12 BCcampus PESC+SOA A Service Runnable Inbound Endpoint Body (processing) Outbound Endpoint Transformers on Endpoints Patterns (Routers, Splitters, etc..)
13
Page |BCcampus | connect. collaborate. innovate.13 BCcampus PESC+SOA PESC Schemas Post Secondary Electronic Standards Council Schemas for most BCcampus Data Models Data alignment across disparate Systems/Institutions/Countries Standards setting and Maintenance body Open XML schemas readily available to participating institutions http://www.pesc.org
14
Page |BCcampus | connect. collaborate. innovate.14 BCcampus PESC+SOA PESC Implementation Challenges Comprehensive hence complex Challenge of keeping up with revisions Changes pushed to Institutions Institutions with different timetables Need for multiple version coexistence during upgrade periods Need to Roadmap upcoming changes Discourages direct coding to PESC schemas Tools needed to manage implementation
15
Page |BCcampus | connect. collaborate. innovate.15 BCcampus PESC+SOA BCcampus Approach Schemas are input to code generation Java code that deals with PESC entitites generated directly from PESC repository Augmentation is needed but kept to a minimum Database mapping also autogenerated As PESC schemas change, 90% of the process of adaptation is automatic Tools we use: Java JVM Eclipse IDE CVS/SVN version control JAXB (from schema to java code) Datanucleus (from java code to DB) Mule (SOA and ESB) Spring (Service wiring)
16
Page |BCcampus | connect. collaborate. innovate.16 BCcampus PESC+SOA
17
Page |BCcampus | connect. collaborate. innovate.17 BCcampus PESC+SOA
18
Page |BCcampus | connect. collaborate. innovate.18 BCcampus PESC+SOA
19
Page |BCcampus | connect. collaborate. innovate.19 BCcampus PESC+SOA
20
Page |BCcampus | connect. collaborate. innovate.20 BCcampus PESC+SOA Transcript Server Services WebService http://www.bccampus.ca/transcripts/webService ESB Banner/Colleague Agents ListenerDispatcher Persist Poll Batch
21
Page |BCcampus | connect. collaborate. innovate.21 BCcampus PESC+SOA Management Aspects Service Management Tools Management Console Throughput Load Balancing ESB Monitoring DB Monitoring Architecture choices Can move Services outside of JVM Can add more or remove identical services Can move Services to other machines Only wiring is affected
22
Page |BCcampus | connect. collaborate. innovate.22 PESC + SOA Conclusion A Process rather than a Solution We are learning as we go. Adhere to philosophy: Always remain at most one version behind the latest version Automatic Operations (Development, Management) as much as possible Use tools rather than code as much as possible Use Integration Patterns
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.