SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Role of REST Vs. Web Services &
     Enterprise Integration


        Hiranya Jayathilaka
               Associate Technical Lead
         PMC Member (Integration Technologies)
A Word About WSO2
• Founded in 2005 by acknowledged leaders in XML, Web Services
  technologies & standards and open source. Primary contributors to
  Apache Web Services projects started in 2001.
• Producing entire middleware platform 100% open source under the
  Apache license.
• Business model is to sell comprehensive support & maintenance for
  our products.
• Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC and
  CA.
• Venture funded by Intel Capital and Quest Software
• Global corporation with offices in Palo Alto (USA), Portsmouth (UK)
  and Colombo (Sri Lanka).
• 150+ employees and growing.
What is REST?
• REpresentational State Transfer
• Lightweight, client-server architecture
• Interactions are based on the transfer of
  resource state representations
• Systems exchange state representations and
  perform application state transitions
• Mostly implemented using HTTP
Richardson Maturity Model
Level 3: Hypermedia Controls

• Hyper text as the engine of application state

Level 2: HTTP Verbs

• Many URIs, each supporting multiple HTTP methods

Level 1: Resources

• Many URIs, one HTTP method

Level 0: XML Over HTTP

• One URI, one HTTP method
An Example…
• Learning Management System for a college
• A number of fundamental concepts
  – Student
  – Course
  – Teacher
• In a RESTful design these concepts are likely to
  become the ‘resources’ managed by the LMS
The “Student” Resource State
•   Name
•   Age
•   Registration number
•   GPA
•   Date of birth
•   Contact information
State Representation - XML
State Representation - JSON
Representational State Transfer
• Clients and servers interact with each other by
  exchanging
  – Resource state representations
  – Other control information
• Applications are state machines
  – Exchange of resource state representations and
    control information can result in application state
    transitions
HTTP Based RESTful Interactions
REST Today!
• Developers and architects realize the power of
  REST and appreciate its lightweight nature
• Lots of tools, libraries and frameworks to
  make RESTful development easier
• Well suited for modern IT trends
  – Mobile apps
  – Rich web applications
  – Social media
Nothing But REST?
• Most organizations have already invested
  heavily in IT and have adopted countless
  technologies
  – Legacy systems
  – J2EE, .NET, LAMP
  – CORBA, DCOM, RPC, SOAP
  – … and much more
• Replacing these existing systems is risky and
  ridiculously expensive
REST in Peace, SOAP?
• Not in our wildest dreams
  – New WS-* standards introduced frequently
  – Many developer friendly tools and frameworks
  – Comprehensive and highly interoperable platform
  – Sponsorship of many large scale software vendors
• SOAP, WSDL, WS-*, BPEL – They are all here to
  stay (at least for the foreseeable future)
  – REST will continue to be dominant in the public
    web API space
“Hang in There SOAP”
Moral of the Story…
• Replacing existing technologies is not easy
• Every technology has its own strengths and
  weaknesses
  – Despite its arcane terminology, the structured
    description capabilities of the WSDL standard is
    being praised even by hard-core fans of REST
  – No technology can be designated “universally
    superior”
Coexistence over Conquest
• RESTful applications should play nice with
  other technologies
• Need powerful integration mechanisms
  between REST and other technologies (most
  notably SOAP)
• Design applications in a manner so that the
  weaknesses of one technology is
  complemented by the strengths of another
  – Best of both worlds scenario
Key to Success
• Organizations that have realized the value of
  “coexistence over conquest” have reaped
  fruitful results
  – Amazon
  – eBay
  – Google
• Opens up the business for all types of
  developers and clients
  – Breaks down barriers for technology adoption
Good Times for Developers!
• Adding REST support to an existing enterprise
  architecture creates many interesting problems
  and lucrative opportunities for developers
  –   Developing RESTful applications
  –   Integrating REST applications with the ‘rest’
  –   Exposing existing services over REST
  –   Security
  –   Provisioning
  –   Monitoring and usage tracking
• “Developers are the new king makers” – James
  Governor
Developing RESTful Applications
• Can be done with any web development
  technology
  – HTML, PHP, ASP, CGI…
• Servlets and JSP are popular in the Java world
• JAX-RS catching up fast
  – Apache Wink
  – Apache CXF
  – WSO2 Application Server
Integrating RESTful Applications
Exposing Existing Services Over REST
• Use the tried and tested
  gateway pattern            Consumers
• Lock down all the
  implementation details
  of the backend systems
  behind an API gateway      REST API
  and expose a clean         Gateway
  REST API
• Pay attention to the
  number and granularity      Backend
  of exposed operations       Services
WSO2 ESB as an API Gateway
REST APIs in WSO2 ESB
Basic Features of an API Gateway
• Transport switching
• Message transformation and content
  negotiation
• Lightweight orchestration
• High performance (low latency mediation)
• Monitoring
Security
• More exposure = More vulnerabilities
• Access to critical business applications must
  be secured at API gateway level
  – Do all security checks as early as possible
• Use HTTP friendly security mechanisms
  – Basic Auth
  – OAuth
API Security Enforcement in WSO2 ESB
A Simple Security Architecture
A More Comprehensive Approach with
            API Keys
API Store Front
Managing System Load
• RESTful applications are usually lightweight and
  fast – But your backend services may be not
• Track the usage of REST APIs at the gateway and
  turn down requests if the load becomes too high
  – If the APIs are restricted to a particular group of
    clients, consider implementing some IP based
    throttling mechanism
  – Use time based throttling to prevent legitimate clients
    from overwhelming a service
Throttling Support in WSO2 ESB
Throttle by SLA
Caching
• Another very effective way of reducing the
  overhead on backend services
  – Cache as many responses as possible in the
    gateway and try to minimize calling backend
    services
• Added benefit: Improved performance (better
  user experience)
• Need to have proper cache invalidation
  mechanisms in place
Caching Support in WSO2 ESB
API Provisioning
• REST integration is not a one-off activity. Once
  adopted you will be doing it for the ‘rest’ of
  your working life.
• Should be able to easily add new REST APIs to
  the API gateway
  – Ideally should be a single click operation
  – Should not result in a downtime of existing APIs
• REST API governance
API Provisioning in WSO2 ESB
API Provisioning in WSO2 API Manager
Monitoring & Usage Tracking
• Log and record all accesses to your exposed
  RESTful interfaces at the API gateway
  – Both valid and invalid accesses
  – At very least have a HTTP access log
• If you already have a monitoring system in
  place, integrate it with the API gateway
  – Syslogs, JMX, BAM
• KPI monitoring and SLA monitoring
• Tracking API usage
What to Do with Collected Data?
• Periodic audits
• Dashboards and reports
  – For both API providers and API consumers
• Capacity planning and traffic engineering
• Vulnerability detection
• Marketing and promotional activities
Monitoring WSO2 ESB
WSO2 API Manager with BAM
WSO2 API Manager with BAM
API Monetization
• Turning inbound API calls into cash
• Prevent third parties from making profits out of
  your APIs - Prevent disenfranchisement
• Provide a monitored sandbox environment where
  third parties can develop applications using your
  APIs
  – Close off or restrict access to the APIs from outside
    the sandbox environment
  – Have a robust model for reviewing, approving and
    publishing third party applications
Your Business as a Service

    App         App         App          App


      PaaS for Managed Third Party Apps
                (WSO2 Stratos)


           API (WSO2 API Manager)


     Services, Processes, Applications, Data
               (Business IT Assets)
Summary
• What is REST?
• REST vs. SOAP and other technologies
• Exposing existing systems over REST – API
  gateway pattern
• Techniques for securing, provisioning and
  managing REST APIs
• API monetization
Resources
• REST and API management with WSO2 ESB (Webinar):
  http://www.youtube.com/watch?v=YNfa88-DWQU
• ESB Tipcs & Tricks: Introduction to REST APIs (Blog):
  http://techfeast-hiranya.blogspot.com/2012/04/wso2-esb-tips-
  tricks-09-introduction-to.html
• REST API samples (Documentation):
  http://docs.wso2.org/display/ESB403/Sample+1+Introduction+to+R
  EST+API
• Introduction to AppFactory (Blog):
  http://blog.cobia.net/cobiacomm/2012/04/16/what-is-wso2-
  appfactory/
• WSO2 API Manager beta program (Press Release):
  http://wso2.com/about/news/wso2-begins-recruiting-beta-
  customers-for-new-wso2-api-manager-product/
Selected Customers
WSO2 Engagement Model
•   QuickStart
•   Development support
•   Development services
•   Production support
•   Turnkey solutions
    – WSO2 Mobile Gateway Solution
    – WSO2 FIX Gateway Solution
    – WSO2 SAP Gateway Solution
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Delivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyDelivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made Easy
WSO2
 
WSO2 Governance Registry – Customizing Governance for Your Needs
WSO2 Governance Registry – Customizing Governance for Your NeedsWSO2 Governance Registry – Customizing Governance for Your Needs
WSO2 Governance Registry – Customizing Governance for Your Needs
WSO2
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
WSO2
 
Application development using the wso2 developer studio
Application development using the wso2 developer studioApplication development using the wso2 developer studio
Application development using the wso2 developer studio
WSO2
 
Building Blocks of Enterprise Integration
Building Blocks of Enterprise IntegrationBuilding Blocks of Enterprise Integration
Building Blocks of Enterprise Integration
WSO2
 
Rest api webinar(3)
Rest api webinar(3)Rest api webinar(3)
Rest api webinar(3)
WSO2
 
Extending the WSO2 Governance Registry with Handlers and Filters
Extending the WSO2 Governance Registry with Handlers and FiltersExtending the WSO2 Governance Registry with Handlers and Filters
Extending the WSO2 Governance Registry with Handlers and Filters
WSO2
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendors
WSO2
 
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
WSO2
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
WSO2
 
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginningWSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in Enterprises
WSO2
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in Action
WSO2
 
Introducing the WSO2 Platform
Introducing the WSO2 PlatformIntroducing the WSO2 Platform
Introducing the WSO2 Platform
WSO2
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
WSO2
 

Was ist angesagt? (20)

Delivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyDelivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made Easy
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 Platform
 
WSO2 Governance Registry – Customizing Governance for Your Needs
WSO2 Governance Registry – Customizing Governance for Your NeedsWSO2 Governance Registry – Customizing Governance for Your Needs
WSO2 Governance Registry – Customizing Governance for Your Needs
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
 
Empowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 ProductsEmpowering Development Governance with WSO2 Products
Empowering Development Governance with WSO2 Products
 
Application development using the wso2 developer studio
Application development using the wso2 developer studioApplication development using the wso2 developer studio
Application development using the wso2 developer studio
 
Building Blocks of Enterprise Integration
Building Blocks of Enterprise IntegrationBuilding Blocks of Enterprise Integration
Building Blocks of Enterprise Integration
 
Rest api webinar(3)
Rest api webinar(3)Rest api webinar(3)
Rest api webinar(3)
 
Extending the WSO2 Governance Registry with Handlers and Filters
Extending the WSO2 Governance Registry with Handlers and FiltersExtending the WSO2 Governance Registry with Handlers and Filters
Extending the WSO2 Governance Registry with Handlers and Filters
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendors
 
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
Enterprise Use Case Webinar – Development Governance with the WSO2 Governance...
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
 
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginningWSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in Enterprises
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in Action
 
Introducing the WSO2 Platform
Introducing the WSO2 PlatformIntroducing the WSO2 Platform
Introducing the WSO2 Platform
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 

Andere mochten auch

You're not yet dead
You're not yet deadYou're not yet dead
You're not yet dead
Ahmed Sabek
 

Andere mochten auch (9)

Introducing BTheBeat
Introducing BTheBeat Introducing BTheBeat
Introducing BTheBeat
 
You're not yet dead
You're not yet deadYou're not yet dead
You're not yet dead
 
Social Networking Security Resaerch
Social Networking Security ResaerchSocial Networking Security Resaerch
Social Networking Security Resaerch
 
You != a CV
You != a CVYou != a CV
You != a CV
 
Web services
Web servicesWeb services
Web services
 
Securing Your API
Securing Your APISecuring Your API
Securing Your API
 
APIs: The New Security Layer
APIs: The New Security LayerAPIs: The New Security Layer
APIs: The New Security Layer
 
Servicio web soap en java con net beans
Servicio web soap en java con net beansServicio web soap en java con net beans
Servicio web soap en java con net beans
 
FraSCAti Adaptive and Reflective Middleware of Middleware
FraSCAti Adaptive and Reflective Middleware of MiddlewareFraSCAti Adaptive and Reflective Middleware of Middleware
FraSCAti Adaptive and Reflective Middleware of Middleware
 

Ähnlich wie Role of Rest vs. Web Services and EI

APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
Akana
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
Jeelani Shaik
 
Lifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle APILifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle API
Akana
 
Lifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle APILifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle API
Akana
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
WSO2
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
Sascha Wenninger
 

Ähnlich wie Role of Rest vs. Web Services and EI (20)

zendframework2 restful
zendframework2 restfulzendframework2 restful
zendframework2 restful
 
M meijer api management - tech-days 2015
M meijer   api management - tech-days 2015M meijer   api management - tech-days 2015
M meijer api management - tech-days 2015
 
Mini-Training: Let's have a rest
Mini-Training: Let's have a restMini-Training: Let's have a rest
Mini-Training: Let's have a rest
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013
 
From Web APIs to Cross-Device Web Sites
From Web APIs to Cross-Device Web SitesFrom Web APIs to Cross-Device Web Sites
From Web APIs to Cross-Device Web Sites
 
APITalkMeetupSharable
APITalkMeetupSharableAPITalkMeetupSharable
APITalkMeetupSharable
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
 
APIs Design - Creation - Management.pdf
APIs Design - Creation - Management.pdfAPIs Design - Creation - Management.pdf
APIs Design - Creation - Management.pdf
 
Open Banking & Open Insurance
Open Banking & Open InsuranceOpen Banking & Open Insurance
Open Banking & Open Insurance
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
 
Lifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle APILifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle API
 
Lifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle APILifecycle Manager and the Lifecycle API
Lifecycle Manager and the Lifecycle API
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
 
RESTful web APIs (build, document, manage)
RESTful web APIs (build, document, manage)RESTful web APIs (build, document, manage)
RESTful web APIs (build, document, manage)
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Build Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSBuild Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJS
 
2016 06 - design your api management strategy - axway - Api Management
2016 06 - design your api management strategy - axway - Api Management2016 06 - design your api management strategy - axway - Api Management
2016 06 - design your api management strategy - axway - Api Management
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
 

Mehr von WSO2

Mehr von WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

KĂźrzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

KĂźrzlich hochgeladen (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

Role of Rest vs. Web Services and EI

  • 1. Role of REST Vs. Web Services & Enterprise Integration Hiranya Jayathilaka Associate Technical Lead PMC Member (Integration Technologies)
  • 2. A Word About WSO2 • Founded in 2005 by acknowledged leaders in XML, Web Services technologies & standards and open source. Primary contributors to Apache Web Services projects started in 2001. • Producing entire middleware platform 100% open source under the Apache license. • Business model is to sell comprehensive support & maintenance for our products. • Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC and CA. • Venture funded by Intel Capital and Quest Software • Global corporation with offices in Palo Alto (USA), Portsmouth (UK) and Colombo (Sri Lanka). • 150+ employees and growing.
  • 3. What is REST? • REpresentational State Transfer • Lightweight, client-server architecture • Interactions are based on the transfer of resource state representations • Systems exchange state representations and perform application state transitions • Mostly implemented using HTTP
  • 4. Richardson Maturity Model Level 3: Hypermedia Controls • Hyper text as the engine of application state Level 2: HTTP Verbs • Many URIs, each supporting multiple HTTP methods Level 1: Resources • Many URIs, one HTTP method Level 0: XML Over HTTP • One URI, one HTTP method
  • 5. An Example… • Learning Management System for a college • A number of fundamental concepts – Student – Course – Teacher • In a RESTful design these concepts are likely to become the ‘resources’ managed by the LMS
  • 6. The “Student” Resource State • Name • Age • Registration number • GPA • Date of birth • Contact information
  • 9. Representational State Transfer • Clients and servers interact with each other by exchanging – Resource state representations – Other control information • Applications are state machines – Exchange of resource state representations and control information can result in application state transitions
  • 10. HTTP Based RESTful Interactions
  • 11. REST Today! • Developers and architects realize the power of REST and appreciate its lightweight nature • Lots of tools, libraries and frameworks to make RESTful development easier • Well suited for modern IT trends – Mobile apps – Rich web applications – Social media
  • 12. Nothing But REST? • Most organizations have already invested heavily in IT and have adopted countless technologies – Legacy systems – J2EE, .NET, LAMP – CORBA, DCOM, RPC, SOAP – … and much more • Replacing these existing systems is risky and ridiculously expensive
  • 13. REST in Peace, SOAP? • Not in our wildest dreams – New WS-* standards introduced frequently – Many developer friendly tools and frameworks – Comprehensive and highly interoperable platform – Sponsorship of many large scale software vendors • SOAP, WSDL, WS-*, BPEL – They are all here to stay (at least for the foreseeable future) – REST will continue to be dominant in the public web API space
  • 14. “Hang in There SOAP”
  • 15. Moral of the Story… • Replacing existing technologies is not easy • Every technology has its own strengths and weaknesses – Despite its arcane terminology, the structured description capabilities of the WSDL standard is being praised even by hard-core fans of REST – No technology can be designated “universally superior”
  • 16. Coexistence over Conquest • RESTful applications should play nice with other technologies • Need powerful integration mechanisms between REST and other technologies (most notably SOAP) • Design applications in a manner so that the weaknesses of one technology is complemented by the strengths of another – Best of both worlds scenario
  • 17. Key to Success • Organizations that have realized the value of “coexistence over conquest” have reaped fruitful results – Amazon – eBay – Google • Opens up the business for all types of developers and clients – Breaks down barriers for technology adoption
  • 18. Good Times for Developers! • Adding REST support to an existing enterprise architecture creates many interesting problems and lucrative opportunities for developers – Developing RESTful applications – Integrating REST applications with the ‘rest’ – Exposing existing services over REST – Security – Provisioning – Monitoring and usage tracking • “Developers are the new king makers” – James Governor
  • 19. Developing RESTful Applications • Can be done with any web development technology – HTML, PHP, ASP, CGI… • Servlets and JSP are popular in the Java world • JAX-RS catching up fast – Apache Wink – Apache CXF – WSO2 Application Server
  • 21. Exposing Existing Services Over REST • Use the tried and tested gateway pattern Consumers • Lock down all the implementation details of the backend systems behind an API gateway REST API and expose a clean Gateway REST API • Pay attention to the number and granularity Backend of exposed operations Services
  • 22. WSO2 ESB as an API Gateway
  • 23. REST APIs in WSO2 ESB
  • 24. Basic Features of an API Gateway • Transport switching • Message transformation and content negotiation • Lightweight orchestration • High performance (low latency mediation) • Monitoring
  • 25. Security • More exposure = More vulnerabilities • Access to critical business applications must be secured at API gateway level – Do all security checks as early as possible • Use HTTP friendly security mechanisms – Basic Auth – OAuth
  • 27. A Simple Security Architecture
  • 28. A More Comprehensive Approach with API Keys
  • 30. Managing System Load • RESTful applications are usually lightweight and fast – But your backend services may be not • Track the usage of REST APIs at the gateway and turn down requests if the load becomes too high – If the APIs are restricted to a particular group of clients, consider implementing some IP based throttling mechanism – Use time based throttling to prevent legitimate clients from overwhelming a service
  • 33. Caching • Another very effective way of reducing the overhead on backend services – Cache as many responses as possible in the gateway and try to minimize calling backend services • Added benefit: Improved performance (better user experience) • Need to have proper cache invalidation mechanisms in place
  • 34. Caching Support in WSO2 ESB
  • 35. API Provisioning • REST integration is not a one-off activity. Once adopted you will be doing it for the ‘rest’ of your working life. • Should be able to easily add new REST APIs to the API gateway – Ideally should be a single click operation – Should not result in a downtime of existing APIs • REST API governance
  • 37. API Provisioning in WSO2 API Manager
  • 38. Monitoring & Usage Tracking • Log and record all accesses to your exposed RESTful interfaces at the API gateway – Both valid and invalid accesses – At very least have a HTTP access log • If you already have a monitoring system in place, integrate it with the API gateway – Syslogs, JMX, BAM • KPI monitoring and SLA monitoring • Tracking API usage
  • 39. What to Do with Collected Data? • Periodic audits • Dashboards and reports – For both API providers and API consumers • Capacity planning and traffic engineering • Vulnerability detection • Marketing and promotional activities
  • 41. WSO2 API Manager with BAM
  • 42. WSO2 API Manager with BAM
  • 43. API Monetization • Turning inbound API calls into cash • Prevent third parties from making profits out of your APIs - Prevent disenfranchisement • Provide a monitored sandbox environment where third parties can develop applications using your APIs – Close off or restrict access to the APIs from outside the sandbox environment – Have a robust model for reviewing, approving and publishing third party applications
  • 44. Your Business as a Service App App App App PaaS for Managed Third Party Apps (WSO2 Stratos) API (WSO2 API Manager) Services, Processes, Applications, Data (Business IT Assets)
  • 45. Summary • What is REST? • REST vs. SOAP and other technologies • Exposing existing systems over REST – API gateway pattern • Techniques for securing, provisioning and managing REST APIs • API monetization
  • 46. Resources • REST and API management with WSO2 ESB (Webinar): http://www.youtube.com/watch?v=YNfa88-DWQU • ESB Tipcs & Tricks: Introduction to REST APIs (Blog): http://techfeast-hiranya.blogspot.com/2012/04/wso2-esb-tips- tricks-09-introduction-to.html • REST API samples (Documentation): http://docs.wso2.org/display/ESB403/Sample+1+Introduction+to+R EST+API • Introduction to AppFactory (Blog): http://blog.cobia.net/cobiacomm/2012/04/16/what-is-wso2- appfactory/ • WSO2 API Manager beta program (Press Release): http://wso2.com/about/news/wso2-begins-recruiting-beta- customers-for-new-wso2-api-manager-product/
  • 48. WSO2 Engagement Model • QuickStart • Development support • Development services • Production support • Turnkey solutions – WSO2 Mobile Gateway Solution – WSO2 FIX Gateway Solution – WSO2 SAP Gateway Solution