Options:
APIGEE SmartDocs
Swagger
turnapi
Custom Website
3Scale.net - Active Docs (Use Swagger as Specification) [Out]
https://support.3scale.net/howtos/api-configuration#active-docs
Not Candidates:
Docco
Dexy
Tools:
Doxygen
Best API Platform:
1. WSO2 API Management
2. APIGEE
3. Mashery
4. Layer 7
5. 3scale
6. Mulesoft
Evaluation Considerations:
1. Out-of-the box developer Tool
2. UI Experience
3. Language Agnostic
4. Code Level Documentation
5. Support JSON and XML
6. Support WADL
7. Demo/Documentation
8. Modify documentation directly on the system, instead of code.
9. Customers
10. Google Trends
11. Open Source
12. Sync with Git
13. Swagger-based documentation
14. Scalability to support chosen API Management Platform
15. Compatible with different REST publishing Framework - JAX-RS
Directions/Principles:
1. Choose the API Doc tool which can work with corresponding API Management Platform.
2.
API Platform:
APIGEE
Mashery
Directoins:
1. I would lean towords using API Docs with APIGEE
2.
Learnt:
1. Docco is not good for API Documentation
2. SOA strategies mostly target internal users; open Web APIs target mostly external partners. So API management requires developer portals, key management, and metering and billing facilities that SOA
management never provided.
3. API management platforms deliver important additional capabilities: developer portals, key management and approval, and metering and billing. Most companies don’t support these requirements in their existing SOA governance strategies.
4. Examples of vendors with API-native solutions are 3scale and Mashery
5. Examples of vendors with SOA-native solutions are IBM, Layer 7, and Vordel
6. Another solution vendor that began in this market segment but is now targeting API management is Apigee, formerly Sonoa Systems. Apigee’s API management platform bears some resemblance to Mashery’s cloud-based developer portal.
7.
Knowledge Sharing:
1. It does, however, require the capabilities of the service be described in the structure of the Swagger Specification. Not all services can be described by Swagger--this specification is not intended to cover every possible use-case of a REST-ful API. Swagger does not define a specific development process such as design-first or code-first. It does facilitate either technique by establishing clear interactions with a REST API.
API Platform Comparision:
http://www.ca.com/us/~/media/Files/IndustryAnalystReports/The-Forrester-Wave-API%20Management-Q1-2013.pdf
References:
http://mestachs.wordpress.com/2012/08/06/rest-api-documentation/
Friday, May 30, 2014
Wednesday, May 21, 2014
Master Groovy on Grails
Levels:
1. Compare Groovy on Grails vs Play Framework
2. Compare Groovy vs Java
3.
Learnt:
1. Grails have many plugins, which can be installed to work with specific component. Grails is a platform, similar to Predix platform.
2. Item Grails Platform Predix Platform
Community Grails Community Company
Plugins Different Developers/Teams Platform/Solution/Project Team
Pluggable Yes, out of box Yes, out of box
Tech Convention over configuration OSGI
Languages Groovy/java
3. Scala over Groovy
4.
Learnt:
1. Groovy can use Spring injection to inject service to groovy class.
2. Groovy can map domain object to database tables.
3. Groovy doesn't know what is the default package structure
4. Grails support spring mvc and spring webflow
5.
Disadvantages of Grails:
1. Don't have web.xml, and difficult to add filter. Otherwise, I have to find workaround.
Workaround: "grails run-app" == "grails -Dgrails.env=development war"
There is a big gap between grails run-app and "mvn clean install"
Don't use "mvn clean install" to create war, instead, use "grails war" to create war file.
The production enviornment shall be the same as development environment.
2. During development, I use "grails run-app"; and During deployment, I shall use "grails -Dgrails.env=development war"
3. This is a grails project, and we shall remove the maven dependencies moving forwards. need to dig why it can resolve this.
4.
Subscribe to:
Posts (Atom)