Discussion on Service API Design for Arena ChMS Jason Offutt Software Engineer Central Christian Church

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

REST Introduction 吴海生 博克软件(杭州)有限公司.
Harithan R velagala CSE 532 TERM PAPER. First what is a service? A service is a reusable component which transforms business data. It is self contained.
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
Spring, Hibernate and Web Services 13 th September 2014.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
A Successful RHIO Implementation
WEB490 Developing Service-Oriented Architectures Brian Travis Chief Technical Officer Architag International Corp.
28 October 2008CIS 340 # 1 Topics (continuing) To develop the concepts guiding SOA To define SOA components.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
6/2/2015Enterprise e-Support Inc.1 SoA (Service Oriented Architecture) Overview.
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
Stuart Sim Chief Architect Global Education & research Sun Client Solutions Blog:
Introduction to Service-Oriented Architecture. Outline Definition Features Examples of SOA Web Service Standards Example Pros and Cons Integration with.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Nguyễn Huy Trường Bùi Dũng Anh Tuấn 1.  Service  Service Oriented Architecture (SOA)  Service Oriented Computing (SOC)  Reference 2.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
CPSC 875 John D. McGregor C9 - Tactics. Everything is a plugin.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
Visual Studio 2008 and.NET 3.5 provide seamless support for all of the protocols and techniques popular in Web 2.0-style applications. Visual Studio.
CPSC 875 John D. McGregor C9 - Tactics. Tactics A tactic is a transformation Given that the pre-condition of the tactic is true The tactic defines changes.
Esri UC 2014 | Technical Workshop | Esri Roads and Highways: Integrating and Developing LRS Business Systems Tom Hill.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
CPSC 875 John D. McGregor C9 - Tactics. Tactics A tactic is a transformation Given that the pre-condition of the tactic is true The tactic defines changes.
What the heck is MEF? And why should I care? Jason Offutt Software Engineer Central Christian Church
SOA support in.NET Platform overview Primitive SOA support Support for service-orientation principles Contemporary SOA support.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
Service Oriented Architecture + SOAP -Robin John.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Web Services Experience Language Dan Gisolfi jStart Emerging Technologies, IBM SWG IBM WSXL Team OASIS WSCM Technical.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 Acquisition Automation – Challenges and Pitfalls Breakout Session # E11 Name: Jim Hargrove and Allen Edgar Date: Tuesday, July 31, 2012 Time: 2:30 pm-3:45.
Topics on Web Services COMP6017 Dr Nicholas Gibbins –
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
SOA. SOA Platforms SOA platform basics SOA support in J2EE SOA support in.NET Integration considerations.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Java Web Services Orca Knowledge Center – Web Service key concepts.
Modern Systems Analysis and Design Third Edition
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
Chapter 3 Introducing SOA
7. Service-oriented Architecture (SOA)
Software Testing and Maintenance Designing for Change
Ashish Pandit IT Architect, Middleware & Integration Services
Introduction to Web Services and SOA
John D. McGregor C8 - Tactics
Service-centric Software Engineering
Modern Systems Analysis and Design Third Edition
Service Oriented Architecture (SOA)
Modern Systems Analysis and Design Third Edition
Service Oriented Architecture + SOAP
Software Design Lecture : 8
Distributed Systems through Web Services
Middleware, Services, etc.
Introduction to Web Services and SOA
WCF Data Services and Silverlight
Software Testing and Maintenance Designing for Change
Presentation transcript:

Discussion on Service API Design for Arena ChMS Jason Offutt Software Engineer Central Christian Church Tweet about us using #RefreshCache!

 Service Orientation – Design paradigm that specifies the creation of automation logic in the form of services  Service Oriented Architecture – An architecture that packages functionality in the form of interoperable services Most commonly expressed via an inventory of web services

One of the goals of SOA is to create an architecture built around extensibility. SOA seeks to avoid monolithic design. Large, monolithic, “silo” design leads to  Tightly coupled business logic  Awkward maintainability  Difficult to achieve extensibility

One of the goals of SOA is to create an architecture built around extensibility. SOA wants to be more like Legos. Bite-sized, pluggable components lead to  Abstraction of business processes  Encapsulated business logic  Ease of maintenance  Ease of extension

This design paradigm allows us to use the same application logic base to easily create multiple clients on a variety of platforms! Easily develop for multiple clients  Arena Modules  Mobile Applications  Social Networks  Integration With Third Party Applications Bring ministry technology to where the people are!

The anatomy of a Service Inventory 3 Service Roles 1. Utility Services – Encapsulate common low-level functionality (enterprise-level utility classes). 2. Entity Services – Serve as a data model of sorts. Encapsulate basic CRUD operation of business entities. 3. Task Services – Abstract individual business processes. They put the “C” in MVC.

Picking our battles within the API design  Dependencies are a side-effect of software engineering. They will ALWAYS be present.  In a Service Oriented Architecture, highly dependent code isn’t always a bad thing… When it’s applied in the right places When it’s applied under the right circumstances

Best practices in service coupling  Service logic tightly coupled to service contract Service contract MUST be first class citizen Contract is designed first, before any code is written Service logic is designed based on service contract  View can be coupled to service contract Dependency on service contracts allows service logic to be modified with minimal effect on view View can be easily modified to service output data via the exposed service contract

Best practices in service coupling  Task Services loosely coupled to other services Entity Services (data model) Utility Services  Entity Services loosely coupled to data layer

 WCF vs “ASMX” services  REST vs SOAP Security concerns of REST?  Public availability of Entity Services Should Task (“controller”) Services be the only means of accessing service functionality externally?  JSON vs ATOM vs traditional XML messages