Service Oriented Architecture with O.K.I.

Slides:



Advertisements
Similar presentations
MIT Lincoln Laboratory A Service-Oriented Approach to Application Development Robert Darneille & Gary Schorer WPI MQP Presentations ICS Group 10 October.
Advertisements

COM vs. CORBA.
Chapter 13 Review Questions
Database Architectures and the Web
© Copyright 2006 Massachusetts Institute of Technology Open Knowledge Initiative ™ Open Knowledge Initiative International Symposium on Open Educational.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Achieving Success With Service Oriented Architecture Derek Ireland 17th March, 2005.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
Lecture 23: Software Architectures
CPR Overview 28-April Agenda Introduction Requirements Data Model Services Model Service Providers Implementation Contact Information.
Open Knowledge Initiative Scott Thorne Jeff Kahn
1©2005 OnTapSolutions5 December 2005 Service Oriented Architecture with O.K.I. Tom Coppeto OnTapSolutions Stuart Sim Sun Microsystems 5 December 2005.
FREMA: e-Learning Framework Reference Model for Assessment David Millard Yvonne Howard IAM, DSSE, LTG University of Southampton, UK.
4b.1 Grid Computing Software Components of Globus 4.0 ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4b.
Open Knowledge Initiative ITAG Luncheon 1/8/03 Scott Thorne.
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Course Instructor: Aisha Azeem
Georgetown UNIVERSITY Part I: Service Oriented Architecture Seminars on Academic Computing Directors Leadership Seminar, August 7, 2007 Charles F. Leonhardt,
UNIT-V The MVC architecture and Struts Framework.
Massachusetts Institute of Technology Page 1 Open Knowledge Initiative CSG - Princeton, 05/07/03.
Web Services Overview and Trends David Purcell MnSCU OoC IT.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Digital Object Architecture
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
© Copyright 2005 Massachusetts Institute of Technology Open Knowledge Initiative ™ Repository Integration Using the Open Knowledge Initiative (O.K.I.)
Cole David Ronnie Julio. Introduction Globus is A community of users and developers who collaborate on the use and development of open source software,
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
CourseWork Integration and Futures Bruce Vincent Stanford University
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Windows Communication Foundation and Web Services
Database Architectures and the Web
Updatecenter Module 3 Application Server SE/EE 8.1 Installation
The Client/Server Database Environment
POW MND section.
Updatecenter Snjezana Sevo-Zenzerovic
Mobility for Real Estate – Extending JDE Core Data to User Fingertips
Notification Service JA-SIG June 6, 2006 One stop shopping
Software Reuse ©Ian Sommerville 2006.
Cloud Management Mechanisms
Distribution and components
Enterprise Computing Collaboration System Example
EIN 6133 Enterprise Engineering
Processes The most important processes used in Web-based systems and their internal organization.
Database Architectures and the Web
Notification Service May 19, 2006 Jon Atherton Mark Mara.
Windows Communication Foundation and Web Services
#01 Client/Server Computing
Inventory of Distributed Computing Concepts
Chapter 7 –Implementation Issues
Scott Thorne & Chuck Shubert
Introduction to Web Services
Distributed System using Web Services
Seminarium on Component-based Software Engineering
Chapter 5 Architectural Design.
ARCH-2: OpenEdge Reference Architecture (OERA) Latest Thinking
Part I: Service Oriented Architecture
Distributed System using Web Services
#01 Client/Server Computing
Presentation transcript:

Service Oriented Architecture with O.K.I. Tom Coppeto (tom@mit.edu) OnTapSolutions Stuart Sim Sun Microsystems 5 December 2005

Service Oriented Architectures An architecture is a framework that defines an organization of system components SOA is an architecture organizing systems around services Each service is defined using a service interface Service implementation hidden from the interface consumer

It’s About Integration Making applications work with IT infrastructures Making system components work with each other The interfaces define the integration points among disparate services, not the technologies or other service implementation details

It’s About Software Some SOAs place the interface boundary on the wire We believe the interface boundary is better placed in the software consumer consumer provider provider

O.K.I. Open Service Interface Definitions (OSIDs) O.K.I. is an SOA built on service definitions OSIDs define software interfaces The interface is a contract between a service consumer and a service provider OSIDs do not specify how a service works Different providers of the same OSID may do entirely different things

OSID Specifications www.okiproject.org Id Agent Authentication Authorization Grading Logging Filing Repository Scheduling Assessment Course Management User Messaging Workflow

OSID Providers O.K.I. does not specify what a provider implementation can do other than to implement the interface An Authorization provider that makes use of LDAP should work just as well as an Authorization provider that simply said yes One may be a bit more useful than the other, however Sometimes it’s useful to have a provider do nothing

Old School Programming Core application Data to be parsed read response Log config status command Send command status Authentication credential APIs Authentication configuration Authentication credential Connection handle Server identity Send credential Get auth credential Make server connection

Interface Programming Core application log Service Interface Service log Service Implementation authN

Software Design (the way not to look at OSIDs) Repository Application AUTH LOGGING REPOSITORY

Software Design (2) (better) Repository Application Repository Authentication Agent LOGGING Logging

Software Design (3) (adapters) Application Service Implementation

Software Design (4) Client/server systems begin with standalone impls Application IMPL Client Server IMPL IMPL

What an Implementation Looks Like APPLICATION INTERFACE INTERFACE CONTRACT CONFIGURATION PROPERTIES TRANSACTION MANAGEMENT UTILITIES CLIENT PROTOCOLS WIRE PROTOCOLS REMOTE SERVER OTHER IMPLEMENTATIONS

Degrees of Interoperability Interface Types Logic

Interfaces & Protocols Developers use code Protocol APIs tend to be fragile, and they get everywhere Not all services involve servers Stubbing: top down design Unit testing Effective project management Adapters Protocols are ever-changing implementation “details” Interfaces change as well, but slower and version skew is much easier to cover with an adapter An OSID impl can built by a third party to cover an existing service without the cooperation of the service provider

Planetary Alignment Server Application API

Planetary Alignment (2) Server OSID API Application

Pound Wise, Penny Foolish As software engineers, we get too caught up in reusing small amounts of code Instead of worrying about reusing a particular java class, we should worry about not replicating entire services

Architectural Case Study Atheltics Alumni SloanSpace Atheltics Alumni Sloan Student Services Libraries SIS Data Warehouse DSpace Project Athena IST Parking Moira Techtime Parking

Resulting System Architecture Moira SIS Alumni Athletics Agent Group Authentication Authorization Messaging Scheduling Course Mgmt Repository SloanSpace DSpace Techtime Parking

Taking The Red Pill Top-down organization of processes, services and utilities Bottom-up adoption through OSID support Technology specifics don’t matter to application code Consumers should not tell providers how to do their job, just that it needs to be done Services relying on data feeds need to be refactored www.okiproject.org