In today’s modern tech scene, APIs (Application Programming Interface) have become the core of programming and CFML. APIs are monumental in more than just from a development standpoint. They can help you to establish a proper business model following an API-based strategy. Companies such as Salesforce, eBay, and Expedia use APIs in order to generate the majority of their company profit. It’s not hard to see why APIs are taking the technological battlefield by storm. As ColdFusion developers, there is no need to be left behind. Adobe offers up an excellent API manager that is completely compatible with CFML. This wonderful tool can help you become part of the next wave of business and technological advancement. Let’s take a look at APIs and how Adobe API Manager can help you to unlock their full potential.
What You Need to Know as CIO
“APIs are changing the game as far as consumer experience goes and are a key integral part of creating customer engagement today…From a CIO’s strategy point of view, API-driven culture needs to be ingrained in software development practices which will in turn lead to a data-driven thinking of enhancing the customer experience.” -Hamesh Chawla, vice president of engineering at Zephyr.
APIs are regarded as the building blocks of a modern day program. Estimated by Forrester, companies are expected to spend over $20 BILLION on API management by 2020. Another great telltale sign that APIs are the way of the future is the number of recent acquisitions made by premier companies. For example, Google recently acquired API management company Apigee for $625 million. With all the hype about APIs, what can they actually do for you?
Strategists are starting to agree that APIs are now the best way to conduct business development. APIs can be a huge assistance when it comes to making decisions.
Example:
A small API can be invested in for their service and let developers build upon it. This instead of spending time in meetings with companies that may pan out to be nothing. Companies can now outsource and acquire the capabilities they desire through APIs vice growing internally.
“It’s like Kickstarter for business development – you only talk about partnerships once you already know there’s customer demand for it.”- Harj Taggar, CEO of Triplebyte.
Being open to using APIs can be major asset for growth. You can build additional value on top of your solutions using APIs instead of waiting for a vendor to release a product/service that answers your needs. This allows you to unlock the value of your platform faster and for less cost. Using APIs also allows you to create a richer, more oriented atmosphere for your customer base.
According to Harj Taggar, the use of APIs can make or break your company’s exposure and flexibility. Both Google and Facebook currently utilize APIs that allow users to register for internal and external services via their respective accounts.
“Facebook has embraced supporting its API since 2008 and has reaped the benefits. The reach of Facebook has spread across the internet and the product has evolved in a way it never could without the developer community that formed around its API. Twitter conversely has destroyed its reputation and credibility with developers by shutting down access to its Firehose API and now they're trying desperately to figure out how to build the right product themselves, seemingly without much success.”
CIOs may have heard of the term API economy. In a nutshell, this is a set of business models based on a exchange of data and secure access of functionality. This API economy mindset is a perfect way to thrive in today’s technologically driven world. By following these principles, businesses can now transform into real-time web platforms.
Another great benefit APIs can provide is the prevention of vendor lock-in. If a CIO takes advantage of ODBC (Open Database Connectivity) to access data, it no longer matters which data repository the company is actually using. This allows maximum flexibility for your company which in turn can provide a substantial boost to your organizational capacities.
What Exactly is an API?
In programming, an API is a set of subroutines, communication protocols, and tools for developing great software. Generally speaking, they are sets of tools that help you to develop a great system. They may be used for libraries and datasets, frameworks, operating systems, and much more. APIs may be developed in many different languages including CFML. APIs make it easier to use certain components of a platform when developing software. It is pivotal for companies to make use of APIs. Luckily, for those using the Enterprise Edition of Adobe ColdFusion, you have already been handed the keys to success with Adobe’s API Manager.
Adobe API Manager
Released in 2016 alongside ColdFusion 2016, the Adobe API Manager is a standalone product designed to make your handling of APIs much easier. It helps you to create APIs that expose core functionalities of application and other backend systems.
Related: Is Lucee CFML now better than Adobe ColdFusion?
Elishia Dvorak, the Technical Marketing Manager for Adobe, explains why you should commit to using the API Manager in our podcast, 063 Adobe API Manager (the business case) + CF Summit sneak peak.
- Build It or Buy It
- Elishia brings up a good point when it comes to using APIs. Companies who plan on using APIs will need an API manager. There are two options. The first is to build an API manager. This requires you to hire developers to create a custom framework for API design and management. We all know developers do not come cheap. The amount of man hours required to construct a framework for a manager can be utilized elsewhere. The second option is to go ahead and buy a fully functional and supported platform. This can be provided through Adobe’s API Manager. For those of you utilizing the ColdFusion 2016 or higher Enterprise Edition, you already have access to the API Manager. Those running Standard have the option to purchase the API Manager without the Enterprise edition. Either way, purchasing and using Adobe’s API Manager may be exponentially more cost-effective than hiring a development team to construct custom framework.
- Security
- Her second point relates to company’s security. Security for any cyber platform should be closely monitored. Through the use of Adobe’s API Manager, you gain 24/7 access to a team of security experts dedicated to maintaining the integrity of your CFML projects. This team of security experts constantly update and maintain security measures concerning the API Manager. This level of confidence ensures that your projects are as secure as they possibly can be.
The use of an API driven strategy can help your company succeed through:
- Better Restructuring of Internal Software Systems
- Reduction of Maintenance Costs
- Increase in Agility and Lean Production Processes
- Better Customer Engagement and Retention
Tech Talk
Adobe’s API Manager is chock full of useful features for creating and maintaining a successful API Strategy. These features and more can be found and explained in fuller detail at Adobe.com.
OAP to REST Converter
This may possibly be one of the greatest features offered. This allows you to convert your old SOAP to RESTful APIs.
What is SOAP?
SOAP stands for Simple Object Access Protocol. SOAP can define a very strongly typed framework through the use of XML. SOAP is codified in a block known as the WSDL (Web Service Description Language). You can think of the WSDL as a term of contract between product and consumer. In regards to programming, it is more specifically the method signature of said contract.
What is REST?
REST stands for Representational State Transfer. This the model that is now becoming most preferred by programmers when it comes to APIs. It relies on stateless communication protocols, most specifically HTTP. REST can structure data in any language that is machine readable. Luckily for CFML and ColdFusion users, JSON is the language most often used for REST. This bodes well for ColdFusion and other CFML platforms –such as Lucee– that handle JSON exceptionally well.
Both REST and SOAP have their distinct advantages and disadvantages over each other. SOAPUI.org clearly defines them as follows:
SOAP Advantages
- Language, platform, and transport independent (REST requires use of HTTP)
- Works well in distributed enterprise environments (REST assumes direct point-to-point communication)
- Standardized
- Provides significant pre-build extensibility in the form of the WS* standards
- Built-in error handling
- Automation when used with certain language products
REST Advantages
- Uses easy to understand standards like swagger and OpenAPI Specification 3.0
- Smaller learning curve
- Efficient (SOAP uses XML for all messages, REST mostly uses smaller message formats like JSON)
- Fast (no extensive processing required)
- Closer to other Web technologies in design philosophy
REST APIs tend to be the better option for public APIS. Creating RESTful APIs from your old SOAP models now becomes a breeze when using Adobe’s API Manager.
Related: 008 The Best REST You’ve ever Had: ColdBox REST with Nathaniel Francis
Creating an API
Adobe API Manager provides multiple options for the creation of APIs.
- Manually Create an API
- Import an API from Swagger
- Import internal Swagger for CF from ColdFusion-based REST services
- Convert a SOAP service into a REST service
- Import a SOAP API through a proxy service
API Versioning
This is crucial when designing a RESTful API. AS updates are made, you want to be sure that you can implement interface changes without disturbing the current usage of your API. Use the API Manager to create multiple version of your API and manage separately. You can then later retire published versions.
API Security
Authenticate your API via the following methods:
- Basic
- API Keys
- OAuth2 using SAML
Documentation
The publisher can provide the complete description of an API and a try-out tool for a subscriber to test the API.
Portals
API Manager offers three different portals for you to publish and subscribe APIs as well as view reports.
- Administrator
- Configure Server Settings, SLAs, Mail Settings for Notifications, etc.
- Publisher
- Create, Publish, View, and Manage APIs.
- Subscriber
- Subscribe, View, and Test an API.
Analytic Dashboards
There are three dashboards in which you may use to metrics and API usage statistics.
- Administrator
- Analyze all the Publishers, their APIs(with versioning) and their usage.
- Publisher
- Analyze overall metrics of multiple API's(with versioning) or you can compare your APIs (with versioning).
- Subscriber
- Analyze the API's(with versioning) you are subscribed to on multiple factors like data consumed/generated or usage or request time.
Metering and Throttling
The API Manager contains a scalable metering solution that works across all cluster nodes. The API Manager makes the asynchronous throttle calls based on the metrics data. The API Manager manages to meter through a distributed in-memory database for real-time control.
SLAS and Tiers
API Manager helps you to create SLA (Service Level Agreement) tiers.
Monitoring and Analytics
The API Manager publishes all information to a monitoring server, such as:
- publisher information
- subscriber information
- API resources
- request and response payload
- response status from end-point
- response time
- response format
- SLA plan
This data is published on an analytics server within or outside a network.
Caching
API Manager contains a caching system where an API response is suitably cached.
SOAP Proxy
Import a SOAP API through a proxy service and map SOAP endpoints to proxy endpoints.
Clustering
The API Manager helps you to set up clusters using the IP of the machine that hosts the distributed data store services.
Connector
The connector fetches all nodes through a shared file. A connector is by a ColdFusion server and the API Manager, running on different machines, at the same time.
Sandbox
Test your API before going to production by configuring a sandbox URL. There is also a failover server, which acts as a backup server in events when the primary endpoint server is unable to serve a request.
Notifications
You can notify users of certain events in the API Manager.
APIs are the backbone of modern day programming. They transcend the digital world and set a precedent in which your business can run. It is very important that APIs are utilized to the fullest of their ability. Implement them in your business strategies and develop an API mindset. When using APIs in programming, make sure you have a proper manager to help you maintain them. Adobe offers a state of the art API manager with many features– all of which are compatible with ColdFusion. Do not let your CFML-run businesses get left behind! Help CF become more alive and start developing APIs today.
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
ColdFusion Alive Best Practices Checklist
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.