Leveraging SOA principles for API adoption 031214 - Wipro

8 downloads 70 Views 293KB Size Report
Leveraging SOA Best Practice for API Implementations. Conclusion. 02. 02. 03 ..... TEL : +91 (80) 2844 0011, FAX : +91 (
www.wipro.com

Leveraging SOA Principles for API Adoption

Table of Contents 02

Abstract

02

Declining Preference for Traditional SOA

03

Onboarding API Bandwagon

04

Checkpoints

05

Leveraging SOA Best Practice for API Implementations

07

Conclusion

07

About the Author

Abstract With the emergence of mobile revolution and ubiquitous customer connects, there has been significant changes in the way organizations interact with their customers. There is a growing demand for agility, resilience and flexibility to stay ahead of the curve. The shift in the business models also saw a decline in demand of traditional IT models. There has been significant impact on one of the most popular themes of the past decade – Service Oriented Architecture (SOA). This paper looks into some key reasons that caused the decline in affinity towards “traditional” SOA and emergence of API as a popular trend. The paper also highlights the key checkpoints to look out for in the emerging API journey and emphasizes the need for preserving best practices of SOA for better results.

Declining Preference for Traditional SOA SOA at its peak has been a much sought after theme across multiple industries. It promoted benefits of reusability, time-to-market and better Stable phase, SOA success stories

ROI to name a few. SOA at peak – SOA Governance, Registry implementations

However,

more

than

a

decade

after

SOA’s

introduction, many organizations have failed to

Focus on CoEs and Shared services

leverage or showcase the expected benefits and return on investments. This has resulted in fading confidence and support for SOA initiatives.

Some of the key reasons behind this unexpected twist in tale are availability of SOA experts for end-to-end implementation, Overload of SOA processes, failure to report benefits on a consistent manner etc. 2

Initial implementations

2000+

Concepts of pragmatic SOA emerges; preference for reducing overheads Agile and Iterative programmes challenges SOA focus

Mobile and API revolution shifts focus to light weight, agile implementations

2015

Figure 1 - Traditional SOA demand over the years

Availability of SOA Experts and Evangelists

Technical Impediments

Majority of SOA initiatives heavily depended on external consultants from

Though it was not a mandatory requirement or a SOA principle, the

consulting firms. They championed the initiatives by building a case for

default model used by a majority of SOA initiatives was SOAP and WS

SOA adoption, evangelizing the business benefits to the business

standards. Unfortunately the schema models focused on elaborate

stakeholders, defining SOA Adoption Roadmap, defining SOA CoE and

structures increasing the payload size and modeling complexity. End result

governance for project delivery, to name a few. However, once the SOA

was highly cumbersome and complex, and low flexible modeling and

specialists moved off, the responsibility of governing, the processes was left

versioning scenarios added to project delays and complexity.

to the existing teams. Without the right direction and expertise, the initiatives lost direction.

SOA Overload

Popularity of ‘Agile’ Implementation

As indicated earlier, many SOA initiatives were driven by external consultants

Due to increased need for faster turnaround times, an increasing number

and in some cases, SOA enablement started running as the main charter

of organizations have started preferring an iterative or agile model over

instead of enabling business benefits. An overload of SOA governance,

the traditional waterfall model. Due to shortened cycles for architecture

processes, approvals and tight binding contracts caused increase in cost and

and design, the whole SOA objective of designing ‘enterprise’ wide services,

more importantly time delays in project. Soon SOA started gaining

ensuring right service granularity and enabling service reusability became

detractors especially in project execution and business teams.

increasingly difficult. There is a gradual shift seen from shared services and models, to domain and project centric implementations.

Failure to Report Benefits

The SOA initiatives that took off were able to clear the first hurdle of convincing the stakeholders and initiating the SOA program. But majority of the initiatives were not able to enable an effective mechanism to continuously report benefits back to the stakeholders. Along with the SOA overload mentioned earlier, lack of view on benefits caused business

The challenges faced by SOA are more attributed to the faulty implementation or the changing dynamics of environment and nothing to do with SOA principles which are still prevalent and applicable for good implementation.

stakeholders to reduce funding for SOA initiatives.

Onboarding API Bandwagon With the current digital transformation trends, there is definitely a need for organizations to be equipped for mobile wave and be flexible for quick changes.

With the huge urge to expose APIs, are we creating more challenges in future? Instead of overload of processes in

Organizations are having developer portals enabled and APIs exposed.

case of SOA, are we possibly facing a proliferation of

A number of API vendors like Layer 7, APIgee, Mashery and traditional

unmanaged APIs?

players like IBM, TIBCO, Software AG, Oracle, SOA Software are battling it out for the customer space. Those organizations that are ahead on technology adoption are aware and But what we may be seeing with APIs could be a reverse end of SOA

have already taken steps to adopt the best practices for API

adoption. While SOA was blamed for it’s over-governance and control,

implementation. It is worthwhile to look at some of the pitfalls that need to

APIs could easily fall into issue of lack of it.

be handled for a good API implementation. 3

Checkpoints It is important to ensure that API adoption is not restricted only to enable

points discuss some pitfalls that might be encountered during API

mobility or security enforcement, but should consider the long-term view

adoption and recommendations to address those.

on flexibility and maintainability of the implementation. The following

Understanding Resource Orientation

Channel Driven APIs

Representational State Transfer (REST) is an architectural style that is

SOA strongly propagated the need for clear segregation of presentation

based on and well-aligned to web fundamentals. Though REST has been in

layer from services layer for enabling loose coupling. In case of APIs, the

use for many years, the prominence of Mobile and e-Commerce revolution

very nature of the requirement requires a close interaction with channels

has given a new level of prominence to REST and JSON. Coding in REST

and is supported by many products in this space.

requires a new way of thinking – thinking in terms of resources and concept of HATEOAS (Hypermedia as the engine of application state) that enables the continued interaction of resources. Alternate models like Pragmatic REST are also being applied. Many developers who are enabling APIs have come from SOAP-based

With this scenario, there is a strong reason that APIs “may” get modeled by the channels and there are possibilities of emergence of channel-specific APIs. API management support the concept of bundling to create Apps specific to channels; however care must be taken to have granular APIs that are reusable across bundles.

implementation background. Moving to REST is not just changing the protocol and format.

Vanishing ESB

Have the transformed API developers really understood the concept of REST and resource orientation? If not, what you may get could be a simple translation from SOAP implementation in JSON format instead of true RESTful services.

Lack of Time for Design

Many new API implementations are considering taking the step of bypassing the ESB layer itself. Though it makes sense for simple mediation and data interfacing type of interactions, we do need to consider larger perspective for complex scenarios like orchestration, store and forward, transaction handling etc. It is important to clearly identify and define the right use cases and identify only the relevant usage scenarios for APIs

One advantage brought in by API tools is the speed of enablement of APIs by means of policies. Due to easier nature of API enablement, normally

instead of complete transformation to APIs.

organizations tend to provide limited attention for design. Are we adopting the right design principles? Have we identified the guidelines for design patterns like security patterns, mediation patterns to interact with existing services? Have we considered failure scenarios? Are

While there is an urgent need to onboard and be

we following right URL structure, status codes and naming standards?

API-enabled, we need to be wary of the adoption

Since many of APIs are exposed to external world, it becomes even more

pitfalls related to this. These issues can be avoided

important to do it right the first time. Design considerations applied at the

by taking few simple steps that provide stability to

beginning will help achieve more stable implementations.

the journey. Organizations that are leading the API adoption are clear on the objective and adoption

Change Management Challenges

and are taking the right measures to achieve the flexibility and business benefits of APIs.

One of the biggest drawbacks SOA implementation is accused of is the complexity of model management due to heavy schemas and use of shared models like industry standard schemas. API models propose simplified models suited for light weight consumers like mobile devices. Though the schema complexity is reduced, the challenges of versioning, change management remain an important consideration. Frequent change on APIs will create user dissatisfaction and may result in non-usage of your APIs. A little time spend on planning will help in reducing frequent changes.

4

Leveraging SOA Best Practice for API Implementations An ad-hoc API enablement may result in multiple challenges in future. Few basic steps can allow much better and stable implementation without impacting the time-to-market and cost of implementations. This is where SOA learnings (do’s and don’ts) can be leveraged effectively. The need of the hour is a pragmatic approach that provides flexibility and agility for APIs without sacrificing the basic consistency and best practices of service orientation. As a starting point to adopt best practices, the key tenets of SOA are applicable for API adoption as well.

The need of the hour is a pragmatic approach that provides flexibility and agility for APIs without sacrificing the basic consistency and best practices of service orientation.

Abstraction

Reusability

In simple terms, abstraction refers to exposing only those details that

Given the current surge on API adoption and the immediate need for

are relevant for consumers to effectively use the API and hide the

API enablement, one of the major challenges that would be faced by

intricacies like the information provider, implementation details and

organizations in immediate future will be to prevent the proliferation

technology used. With this, it provides the API owner the liberty of

and ensure maintainability of the APIs. Since majority of APIs are driven

changing the implementation without impacting consumer. API design

by consumer need at the moment, reusability and prevention of

needs to consider abstraction as one of the key consideration at the

proliferation will be the focus areas in immediate future, when it gets

design stage itself.

adopted at a larger level.

Statelessness

Discoverability

One of the prominent usages of APIs is to provide proxy functions for

The discoverability and documentation becomes even more critical in

accessing the core underlying information. The performance of the

case of APIs. APIs needs to be supplemented with communicative

overall interactions largely depends on the provider service and

metadata by which they can be effectively discovered and interpreted.

backend. Majority of current API implementations are HTTP and Request/Reply-based invocations as default implementation. Considering the expected scale of API invocations, it is extremely important to manage statelessness and light weighted implementation in-order to ensure limited impact to overall infrastructure. To ensure this, APIs may need to consider alternate paradigms like deferrals,

Utilizing SOA principles, lend the required stability for API implementations. Hence effective approach will be to take the best of both to ensure the right implementation. Figure 2 gives a view on some additional dimensions of implementation and proposal to adopt best of both worlds.

publish subscribe, delegation models, if applicable.

5

API World (current)

Proposed (best in the world)

Stream-lined process methodologies and Governance

Inbuilt governance mechanism in API Management products

Derive best practices and form a light weight Governance model

Well-defined templates, guidelines and best practices

Limited standards followed being an emerging area

Derive best practices and define basic standard like naming standard

Model Management

Complex and Time consuming (CDMs, SOAP, XML, Shared models)

Simple and Light weight models adopted(e, JSON)

Continue Simple and Light weight models supported by basic standard

Documentation

High level of process and technical documentation

Light weight documentation (eg. Swagger, RAML etc.)

Continue light weight documentation approach. Ensure proper documentation

Change Impact

Smaller impact as the consumers are mostly internal

Larger impact as APIs are mainly exposed to external world

Approach to be adopted ensuring the right design at first time

Time-to-market

High, due to complex models and process

Low, due to simple models and light weight standards

Continue the simple model

Design and Implementation

Normally stable, reliable and scalable as sufficient time is provided for design

Less time available for detailed design

Define and leverage design pattern, checklists and standard

Custom built

Inbuilt in most of the tools

Utilize the inbuilt capabilities and extend to higher degree of analytics.

Well established as mostly used within the enterprise

New models like QAUTH supported by tool

Define clear checklist and approach for security along with tool to reduce vulnerability

Traditional SOA

Governance

Standardization

Monitoring & Management

Security Implementation

Figure 2 - Recommendations for API adoption Please note that the API implementation view is based on observations from current trends in the industry. It is a general view considering the initial stage of adoption and may have exceptions in specific cases. 6

Conclusion Considering most of the organizations have attempted SOA in some form or the other, it is inevitable that API and SOA will have to co-exist in the near future. Though “Traditional” SOA model adoption is declining in overall industry, it might be judicious not to miss the best practices of service orientation which can go a long way in enabling a scalable and reliable API implementation without sacrificing the speed or agility of business enablement.

About the Author Manoj Santhakumar Manoj has over 14 years of experience in end-to-end implementations in integration space covering areas like Consulting, Architecture, Program Strategy and Solution Delivery for Payments, Banking, Insurance and Telecom domains. He has been instrumental in setting up Integration Competency Centers and enabling BPM and SOA Transformations in multiple client engagements. Manoj is currently working as Senior Consultant as part of Architecture and Consulting Group under Connected Enterprise Services (CES) Practice of BAS. Manoj can be reached at [email protected]

7

About Wipro Ltd. Wipro Ltd. (NYSE:WIT) is a leading Information Technology, Consulting and Business Process Services company that delivers solutions to enable its clients do business better. Wipro delivers winning business outcomes through its deep industry experience and a 360 degree view of "Business through Technology" - helping clients create successful and adaptive businesses. A company recognized globally for its comprehensive portfolio of services, a practitioner's approach to delivering innovation, and an organization wide commitment to sustainability, Wipro has a workforce of over 140,000, serving clients in 175+ cities across 6 continents. For more information, please visit www.wipro.com

DO BUSINESS BETTER CONSULTING | SYSTEM INTEGRATION | BUSINESS PROCESS SERVICES

WIPRO LIMITED, DODDAKANNELLI, SARJAPUR ROAD, BANGALORE - 560 035, INDIA. TEL : +91 (80) 2844 0011, FAX : +91 (80) 2844 0256, Email: [email protected] North America Canada Brazil Mexico Argentina United Kingdom Germany France Switzerland Nordic Region Poland Austria Benelux Portugal Romania Africa Middle East India China Japan Philippines Singapore Malaysia South Korea Australia New Zealand

8

©WIPRO LIMITED 2014

IND/BRD/NOV 2014-JAN 2016