Post on 13-Jul-2015
Compare & Contrast: Open Standards, COTS, Open Source, and the SOA Connection
Eamonn MoriartySeptember 2006
05/06/10 © Copyright 2006 Cúram Software Limited 2
Overview
• Working Definitions– Open Standards– Open Source– Commercial Software (COTS)– Service Oriented Architecture (SOA)
• Interactions• Considerations
– Open Standards– Open Source– Commercial Software (COTS)– Service Oriented Architecture (SOA)
• Example
05/06/10 © Copyright 2006 Cúram Software Limited 4
Open Standards
• What’s a Standard?– An agreed-upon set of guidelines for doing something– Aims to reduce the number of ways of doing something without
hurting competition
• What’s an Open Standard?– Generally accepted to be a publicly available and implementable
standard– In the software world, Open Standards support common agreements
that enable communications between programs– Good examples: HTML, HTTP, XML, SOAP, SQL– There’s no formal standard for ‘Open Standards’!
05/06/10 © Copyright 2006 Cúram Software Limited 6
Open Source Software
• Any software programs whose source code is made available under a copyright license for use or modification by other users or software developers– Development of Open Source software is usually developed as a
public collaboration and is made freely available– Examples: Eclipse, Apache Web Server, GNU/Apache library
software, Linux, MySQL, etc.
05/06/10 © Copyright 2006 Cúram Software Limited 7
Open Source Software
• Properties of Open Source Software:– Free Redistribution – no royalty requirement for aggregating in a
bigger solution– Source code must be distributed (or available to be)– License allows modifications and derived works– Integrity of original Source Code (patch model)– No discrimination against persons or groups– No discrimination against fields of use– Licensing rights apply to all to whom the program is distributed– License cannot be specific to a product– License cannot restrict other software– License cannot be technology-specific
05/06/10 © Copyright 2006 Cúram Software Limited 9
COTS Software
• Commercial off-the-shelf (COTS) describes ready-made, commercially available software products– Vendor software packages which are provided at established catalog
or market prices and sold or leased to the general public
• Typical properties of COTS software:– Rich business functionality for a particular market or set of markets– Support Programs– Education Programs– Version Protection– Documentation– Ongoing R&D– Scalability– Supports multiple platforms
05/06/10 © Copyright 2006 Cúram Software Limited 11
Service Oriented Architecture
• Services are stateless software components which have a defined interface but are implementation-independent. – Service Providers publish interfaces
to these Services. – Service Consumers use these
interfaces to invoke the Services. – Consumers neither know nor need to
know about the location or implementation details of a Service.
• A software architecture which models the interactions between providers and consumers of Services.
• Service interfaces encode generic semantics only; they contain no implementation-specific meaning.
05/06/10 © Copyright 2006 Cúram Software Limited 12
Service Oriented Architecture
• Interesting things to note about SOA– SOA has not really been an official standard (RM just released by
OASIS)– SOA does not mandate any specific technology, but Web Services
were in the right place at the right time
– Web Services is a continually evolving technology• SOAP and XML are standards• Lots of other Web Service work ongoing, which aren’t yet
05/06/10 © Copyright 2006 Cúram Software Limited 14
How do they all Interrelate?
• Open Standards:– May or may not be used in Open Source Software– May or may not be used in COTS Software– Are fundamental to SOA implementations (XML, SOAP)
• Open Source– May or may not use Open Standards– May be included or used in COTS implementations– May or may not be used in SOA implementations
• COTS– May use Open Standards– May use Open Source software– May be based on or support SOA
• SOA– Implementations generally based on Open Standards– May or may not use or be implemented by Open Source or COTS
05/06/10 © Copyright 2006 Cúram Software Limited 16
Open Standards Considerations
• When considering Open Standards, need to ask some questions:– How is that standard created (by committee, by one vendor?) – How is it maintained after Version 1.0? Who maintains it?– Is there a cost associated with getting or implementing the standard? – Are there restrictions on how the standard may be implemented? – Can just a part of the standard be used or extended and still claim
compliance? – Fundamentally, is it a good standard? Have implementers embraced
it? Will it be useful?
• In general Open Standards promote ease of use and reuse, promote simplification of implementation, promote communication and integration, and reduce vendor lock-in for implementers
05/06/10 © Copyright 2006 Cúram Software Limited 17
Open Source Considerations
• When considering Open Source products, also need to ask some questions:– What functionality does it provide?– How much does it cost (free as in speech, not free as in beer)?– How does Training work?– How does Support work?
• Developer Community only?– Response times– Number in the Community
• Supported via a third party?– What documentation is available?– What Open Source License covers it?– How much buy-in is there?
• Determines the community• Will affect the possibility of new functionality
• Open Source has value; however, important to be aware of the business model that supports it
05/06/10 © Copyright 2006 Cúram Software Limited 18
COTS Considerations
• When considering COTS products, there are some further questions:– Need to evaluate what functionality is needed and being provided
(now and in the future)– Need to consider whether a given COTS product is based on Open
Standards– Need to consider whether a given COTS product is based on or
provides support for SOA– Need to consider whether a given COTS product is ‘closed’
• Do you get the source code (do you need it)?• Can you modify core functionality?• How will new versions work?
• COTS products can provide rich business functionality together with the means to implement, support and maintain them
05/06/10 © Copyright 2006 Cúram Software Limited 19
SOA Considerations
• Finally, there are also some pertinent questions to ask when considering implementing an SOA:– What will the Services be?
• How many, and of what granularity?• What’s the cost of implementing everything as a Service?• Is there a COTS or Open Source solution that can help?
– What is the transition plan?– How will the system perform? Will the system perform?– How will the system deal with advances in Web Services (e.g.
Security, Transactions)?
• SOA has momentum in the industry, and offers many potential benefits (Interoperability, Scalability, Reuse, Agility)
05/06/10 © Copyright 2006 Cúram Software Limited 20
One Example
OpenStandard
OpenStandard
Open Source
Open Source
Open Source
SOA
SOA
OpenStandard
COTS