Enviar pesquisa
Carregar
WSO2Con USA 2015: Keynote - Some Essentials for Modern Solution Development
âą
0 gostou
âą
382 visualizaçÔes
WSO2
Seguir
WSO2Con USA 2015: Keynote - Some Essentials for Modern Solution Development
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 43
Baixar agora
Baixar para ler offline
Recomendados
Hi600 ch05_text_slides
Hi600 ch05_text_slides
ljmcneill33
Â
Nate Bean
Nate Bean
nbean
Â
dan craig resume
dan craig resume
Dan Craig
Â
WSO2Con 2013 - West Connect Powered by WSO2
WSO2Con 2013 - West Connect Powered by WSO2
WSO2
Â
Ancestral health alternative approach matesz-ahs final
Ancestral health alternative approach matesz-ahs final
Don Matesz
Â
Publication
Publication
Amanda Grifka
Â
La excepciĂłn de copia personal
La excepciĂłn de copia personal
Leticia Acosta
Â
The evolution of molecular hydrogen - A summary
The evolution of molecular hydrogen - A summary
Sook Yen Wong
Â
Recomendados
Hi600 ch05_text_slides
Hi600 ch05_text_slides
ljmcneill33
Â
Nate Bean
Nate Bean
nbean
Â
dan craig resume
dan craig resume
Dan Craig
Â
WSO2Con 2013 - West Connect Powered by WSO2
WSO2Con 2013 - West Connect Powered by WSO2
WSO2
Â
Ancestral health alternative approach matesz-ahs final
Ancestral health alternative approach matesz-ahs final
Don Matesz
Â
Publication
Publication
Amanda Grifka
Â
La excepciĂłn de copia personal
La excepciĂłn de copia personal
Leticia Acosta
Â
The evolution of molecular hydrogen - A summary
The evolution of molecular hydrogen - A summary
Sook Yen Wong
Â
Dom introduction-website-v1.0
Dom introduction-website-v1.0
Cogility
Â
Resume_Jegatheesan-JKT
Resume_Jegatheesan-JKT
Jag Jagdeesh
Â
Microsoft Power Platform Governance with Runpipe
Microsoft Power Platform Governance with Runpipe
Runpipe
Â
Cti av3
Cti av3
Jeffrey Hammond
Â
Mule soft meetup Houston 16
Mule soft meetup Houston 16
Jim Andrews
Â
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14
XBOSoft
Â
Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management Approach
Enterprise Management Associates
Â
Perficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps Seminar
Perficient, Inc.
Â
Bringing Your Web Apps to IBM Digital Experience
Bringing Your Web Apps to IBM Digital Experience
John Head
Â
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
Alejandro S.
Â
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
hani727151
Â
Software development with agile methodologies
Software development with agile methodologies
Elmozamil Elamir
Â
Cloud computing implications for project management methodologies
Cloud computing implications for project management methodologies
Livingstone Advisory
Â
Application security for the modern web - ISSA South Texas Houston DevOps
Application security for the modern web - ISSA South Texas Houston DevOps
Phillip Maddux
Â
National Government Webinar: Reap the Rewards of IT Consolidation
National Government Webinar: Reap the Rewards of IT Consolidation
SolarWinds
Â
Tn 100504 T Cermak Rev V2
Tn 100504 T Cermak Rev V2
TimCermak
Â
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
Sanjeev Sharma
Â
201807 - Introduction, business value and how to get engaged in FINOS Programs
201807 - Introduction, business value and how to get engaged in FINOS Programs
FINOS
Â
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
Claudia Ring
Â
Adopting Cloud Testing for Continuous Delivery
Adopting Cloud Testing for Continuous Delivery
SOASTA
Â
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Â
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
WSO2
Â
Mais conteĂșdo relacionado
Semelhante a WSO2Con USA 2015: Keynote - Some Essentials for Modern Solution Development
Dom introduction-website-v1.0
Dom introduction-website-v1.0
Cogility
Â
Resume_Jegatheesan-JKT
Resume_Jegatheesan-JKT
Jag Jagdeesh
Â
Microsoft Power Platform Governance with Runpipe
Microsoft Power Platform Governance with Runpipe
Runpipe
Â
Cti av3
Cti av3
Jeffrey Hammond
Â
Mule soft meetup Houston 16
Mule soft meetup Houston 16
Jim Andrews
Â
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14
XBOSoft
Â
Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management Approach
Enterprise Management Associates
Â
Perficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps Seminar
Perficient, Inc.
Â
Bringing Your Web Apps to IBM Digital Experience
Bringing Your Web Apps to IBM Digital Experience
John Head
Â
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
Alejandro S.
Â
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
hani727151
Â
Software development with agile methodologies
Software development with agile methodologies
Elmozamil Elamir
Â
Cloud computing implications for project management methodologies
Cloud computing implications for project management methodologies
Livingstone Advisory
Â
Application security for the modern web - ISSA South Texas Houston DevOps
Application security for the modern web - ISSA South Texas Houston DevOps
Phillip Maddux
Â
National Government Webinar: Reap the Rewards of IT Consolidation
National Government Webinar: Reap the Rewards of IT Consolidation
SolarWinds
Â
Tn 100504 T Cermak Rev V2
Tn 100504 T Cermak Rev V2
TimCermak
Â
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
Sanjeev Sharma
Â
201807 - Introduction, business value and how to get engaged in FINOS Programs
201807 - Introduction, business value and how to get engaged in FINOS Programs
FINOS
Â
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
Claudia Ring
Â
Adopting Cloud Testing for Continuous Delivery
Adopting Cloud Testing for Continuous Delivery
SOASTA
Â
Semelhante a WSO2Con USA 2015: Keynote - Some Essentials for Modern Solution Development
(20)
Dom introduction-website-v1.0
Dom introduction-website-v1.0
Â
Resume_Jegatheesan-JKT
Resume_Jegatheesan-JKT
Â
Microsoft Power Platform Governance with Runpipe
Microsoft Power Platform Governance with Runpipe
Â
Cti av3
Cti av3
Â
Mule soft meetup Houston 16
Mule soft meetup Houston 16
Â
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14
Â
Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management Approach
Â
Perficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps Seminar
Â
Bringing Your Web Apps to IBM Digital Experience
Bringing Your Web Apps to IBM Digital Experience
Â
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
Â
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
A_Statistical_Study_and_Analysis_to_Identify_the_Importance_of_Open-source_So...
Â
Software development with agile methodologies
Software development with agile methodologies
Â
Cloud computing implications for project management methodologies
Cloud computing implications for project management methodologies
Â
Application security for the modern web - ISSA South Texas Houston DevOps
Application security for the modern web - ISSA South Texas Houston DevOps
Â
National Government Webinar: Reap the Rewards of IT Consolidation
National Government Webinar: Reap the Rewards of IT Consolidation
Â
Tn 100504 T Cermak Rev V2
Tn 100504 T Cermak Rev V2
Â
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
Â
201807 - Introduction, business value and how to get engaged in FINOS Programs
201807 - Introduction, business value and how to get engaged in FINOS Programs
Â
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
Â
Adopting Cloud Testing for Continuous Delivery
Adopting Cloud Testing for Continuous Delivery
Â
Mais de WSO2
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Â
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
WSO2
Â
How to Create a Service in Choreo
How to Create a Service in Choreo
WSO2
Â
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
WSO2
Â
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
WSO2
Â
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
WSO2
Â
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
WSO2
Â
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
WSO2
Â
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
WSO2
Â
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
WSO2
Â
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
WSO2
Â
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
WSO2
Â
A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
WSO2
Â
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
WSO2
Â
Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
WSO2
Â
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
WSO2
Â
Building a Future-ready Bank
Building a Future-ready Bank
WSO2
Â
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
WSO2
Â
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
WSO2
Â
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
WSO2
Â
Mais de WSO2
(20)
Architecting Cloud Native Applications
Architecting Cloud Native Applications
Â
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
Â
How to Create a Service in Choreo
How to Create a Service in Choreo
Â
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
Â
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
Â
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
Â
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
Â
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
Â
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Â
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
Â
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
Â
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
Â
A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
Â
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Â
Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
Â
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
Â
Building a Future-ready Bank
Building a Future-ready Bank
Â
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
Â
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
Â
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
Â
Ăltimo
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Â
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Â
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Â
Finology Group â Insurtech Innovation Award 2024
Finology Group â Insurtech Innovation Award 2024
The Digital Insurer
Â
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Â
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Â
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Â
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Â
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
Â
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Â
đŹ The future of MySQL is Postgres đ
đŹ The future of MySQL is Postgres đ
RTylerCroy
Â
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Â
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Â
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Â
Scaling API-first â The story of a global engineering organization
Scaling API-first â The story of a global engineering organization
Radu Cotescu
Â
Evaluating the top large language models.pdf
Evaluating the top large language models.pdf
ChristopherTHyatt
Â
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Â
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Â
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Â
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Â
Ăltimo
(20)
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Â
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Â
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Â
Finology Group â Insurtech Innovation Award 2024
Finology Group â Insurtech Innovation Award 2024
Â
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Â
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Â
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Â
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Â
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Â
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Â
đŹ The future of MySQL is Postgres đ
đŹ The future of MySQL is Postgres đ
Â
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Â
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Â
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Â
Scaling API-first â The story of a global engineering organization
Scaling API-first â The story of a global engineering organization
Â
Evaluating the top large language models.pdf
Evaluating the top large language models.pdf
Â
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Â
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Â
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Â
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Â
WSO2Con USA 2015: Keynote - Some Essentials for Modern Solution Development
1.
© Donald F.
Ferguson, 2015. All rights reserved. Some Essentials for Modern Solution Development WSO2Con 2015 US Dr. Donald F. Ferguson Donald.F.Ferguson@gmail.com
2.
2 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Contents
3.
3 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Contents âąâŻ Introduction â⯠Experience. â⯠SOA and Microservices. â⯠Presentation motivation. âąâŻ Five (out of dozens) of observations. â⯠A âsimpleâ scenario. â⯠SOA âversusâ microservices. â⯠The three (out of a dozen so far) observations. â⯠Composition and patterns. â⯠Application â application dependencies. â⯠Configuration properties in the environment. âąâŻ Summary, discussions and next steps.
4.
4 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Introduction
5.
5 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Experience and Motivation âąâŻ History of enabling distributed applications, e.g. â⯠Message Driven Processing, Event Driven Architecture â⯠CORBA, J2EE â⯠WS-*, JSR 106, WS-ResourceFramework, WS-Transfer, ⊠â⯠Eclipse perspectives, Service Component Architecture, Service Data Objects â⯠Internet Service Bus, Boomi, Integration Platform as a Service âąâŻ Three Columbia masters level courses exploring more modern technology â⯠Modern Internet Application Development, e.g. AngularJS, Amazon SNS, MongoDB. â⯠Modern Internet Service Oriented Application Development, e.g. REST, Redis, iPaaS. â⯠Developing Applications with Microservices and APIs, e.g. Microservices, Google Pub/Sub, Amazon Simple Workflow. âąâŻ Common concepts emerge, get adopted, disappear and reemerge. â⯠Technology will evolve and improve, but ⊠â⯠We need to ensure that new technology retains some core concepts.
6.
6 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA This Could be an Interesting Perspective, or âŠ
7.
7 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA SOA âąâŻ DEFINITION Service-oriented architecture (SOA) is an architectural style for build-ing systems based on interactions of loosely coupled, coarse-grained, and autonomous components called services. Each service exposes processes and behavior through contracts, which are composed of messages at discoverable addresses called endpoints. A serviceâs behavior is governed by policies that are external to the service itself. The contracts and messages are used by external components called service consumers. âąâŻ Some observations â SOA is a reaction to distributed OO and RPC. â⯠Coarse Grained and Messages â⯠OO tends to lots of small classes/objects and fine-grain API calls (e.g. person.getIq()). â⯠SOA tends to person.getState(). â⯠Loosely coupled â⯠Assume API calls âgo remoteâ but may have local optimization. â⯠Interfaces (Contracts) are not strongly typed, enabling independent evolution. â⯠Endpoints â⯠OO assumes âJava calling Java, perhaps over RMI.â â⯠SOA separate Contract from Binding (WS-Interop, REST, message queues, etc). â⯠Discoverable â⯠OO assumes a classpath, findByClassName() and perhaps factory patterns. â⯠SOA assumes you can go to a web callable repository and ask for SOA endpoints based on Contracts/Messages. â⯠Web Services are a set of standards for SOA that enable interoperability.
8.
8 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA SOA âąâŻ Various developer tools generate helper classes, allowing the programmer to focus on application logic and not details of formatting XML messages for SOAP. âąâŻ Services often go into containers that automate implementation of policies, e.g. transactions, security, reliable messaging.
9.
9 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Micro-services Characteristics âąâŻ Componentization via Services âąâŻ Organized around Business Capabilities âąâŻ Products not Projects âąâŻ Smart endpoints and dumb pipes âąâŻ Decentralized Governance âąâŻ Decentralized Data Management âąâŻ Infrastructure Automation âąâŻ Design for failure âąâŻ Evolutionary Design
10.
10 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA What has changed? âąâŻ We have â⯠Heard similar terms â⯠Loose coupling â⯠Service discovery â⯠Asynchronous messaging â⯠Polyglot programming and persistence â⯠Flexible scaling â⯠etc. â⯠Over and over again â⯠Modular programming â⯠CORBA, J2EE â⯠Web services â⯠⊠âąâŻ What has changed? Why are we ârightâ now? â⯠âThis time we really mean it. If you cannot take a joke, you should not be in software.â â⯠There are some significant innovations, tempered by some lost capabilities. â⯠The tide comes in one wave at a time, but letâs not lose what we have learned.
11.
11 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Three Observations Out Of Dozens So Far âŠ
12.
12 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA A âSimpleâ Scenario
13.
13 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA A Simple Scenario Student Info Microservice âąâŻ Manages Student Resource âąâŻ With a little bit of course info âinsideâ student resource Course Info Microservice âąâŻ Manages Course Resource âąâŻ With a little bit of student info âinsideâ student resource âąâŻ 3rd parties provide the micro-service Ă ï Cannot examine or modify code. âąâŻ Combine to provide a single microservice â⯠Managing two resources: Student, Course â⯠Existing apps will continue to use the existing microservices. â⯠Referential integrity, e.g. deleting a student removes student from course. Student Course
14.
14 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA When you do not know how to do something, the most likely answer is build a microservice. Student Course API GW Student Course Integrat e
15.
15 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Identifying Three Issues
16.
16 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA SOA vs Microservices http://www.pwc.com/us/en/technology-forecast/2014/cloud- computing/features/microservices.jhtml
17.
17 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA SOA vs Microservices http://www.pwc.com/us/en/technology-forecast/2014/cloud- computing/features/microservices.jhtml âąâŻ Not true. âąâŻ Dangerous was to think. âąâŻ Not a clear difference. âąâŻ Concepts appears in both âąâŻ Important distinction. âąâŻ But focuses on how. âąâŻ Not sure what this means
18.
18 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA The 12 Factors â How You Implement I. Codebase One codebase tracked in revision control, many deploys II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing Services Treat backing services as attached resources V. Build, release, run Strictly separate build and run stages VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging, and production as similar as possible XI. LogsTreat logs as event streams XII. Admin processes Run admin/management tasks as one-off process
19.
19 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA The 12 Factors â How You Implement âIsssuesâ I. Codebase One codebase tracked in revision control, many deploys II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing Services Treat backing services as attached resources V. Build, release, run Strictly separate build and run stages VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging, and production as similar as possible XI. LogsTreat logs as event streams XII. Admin processes Run admin/management tasks as one-off process
20.
20 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA The Three Observations
21.
21 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Composition and Patterns
22.
22 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Monolithic to Micro Cart Functions âąâŻ Java âąâŻ SQLite Recommendation Functions âąâŻ Node.js âąâŻ Redis Catalog Functions âąâŻ PDP âąâŻ MongoDB XXX XXX âąâŻ MMM âąâŻ NNN Content Functions âąâŻ Ruby âąâŻ Amazon S3
23.
23 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Point-to-Point Connections are Bad Doing this ⊠Leads to this ⊠âŠ
24.
24 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA The Hub is Active, Patterned and Reusable
25.
25 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Enterprise Integration Patterns with WSO2 ESB https://docs.wso2.com/display/IntegrationPatterns/Enterprise+Integration+Patterns+with+WSO2+ESB
26.
26 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA A New Theorem Fergusonâs 1st Theorem on Microservices and REST âąâŻ {Compoentization via Services, Smart endpoint and dumb pipes} + âąâŻ {Layered System} = âąâŻ Enterprise Service Bus Microservice Characteristics âąâŻ Componentization via Services âąâŻ Organized around Business Capabilities âąâŻ Products not Projects âąâŻ Smart endpoints and dumb pipes âąâŻ Decentralized Governance âąâŻ Decentralized Data Management âąâŻ Infrastructure Automation âąâŻ Design for failure âąâŻ Evolutionary Design REST Tenents âąâŻ Client/server âąâŻ Stateless âąâŻ Caching âąâŻ Uniform Interface âąâŻ Layered System âąâŻ Code on Demand
27.
27 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Composition Models (and Diagrams) âąâŻ The diagrams are always ânodesâ and âarcs.â âąâŻ Structure: node A <x> node B, where x is Requires/depends/calls/synchronizes with/⊠âąâŻ Control: â⯠Execute A and then execute B, where A and B are tasks. â⯠There is a shared set of âdata objectsâ the tasks manipulate. âąâŻ Data flow: Do A to the message/document/⊠and then do B to Aâs output Control Flow Structure Data Flow
28.
28 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Summary âąâŻ Dumb fast messaging versus powerful ESB â⯠Is appealing. â⯠But repeats the fallacies of âquick point-to-pointâ connections. âąâŻ Microservice composition is not antithetical to ESB (and middleware) â⯠Microservices focus on how you build basic components to achieve benefits. â⯠The approach should not exclude the benefits of â⯠Middleware and tools. â⯠For common composition models and patterns. â⯠That can improve robustness, reuse, agility, ⊠âąâŻ We see â⯠The emergence of âcallableâ middleware, e.g. Amazon SWF, Google pub/sub. â⯠But we cannot lose the benefits of active code in the middleware.
29.
29 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Application Dependency
30.
30 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Inject application implementation into reusable SW containers Reusable infrastructure containers Reusable SW containers but with core technology and frameworks http://martinfowler.com/articles/microservices.html
31.
31 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA
32.
32 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA OK, sounds good, but ⊠âąâŻ Maybe âąâŻ My team and I âąâŻ Did not write âąâŻ Have source âąâŻ For all the microservices. âąâŻ I can probably figure out âąâŻ What API the microservice exports, e.g. Browsable web UI. âąâŻ What libraries it uses, e.g. pom.xml. âąâŻ But have no idea what REST APIs it calls into other microservices. âąâŻ Making assembly of âbinaryâ difficult.
33.
33 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA We Used to Have SCA and WSDL MEPs
34.
34 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Summary âąâŻ Dependency management is a crucial element of microservices and 12 Factor Apps â⯠Document dependencies (pom.xml, runtime specific metadafiles, âŠ). â⯠Treat backing resources as attached services. â⯠etc. âąâŻ But it is the nature of REST API assembly that â⯠What âAPI/resourcesâ a microservice manages. â⯠And (especially) what REST resources it requires for application completeness. â⯠Are very, very unclear. â⯠Making many composition scenarios across teams difficult.,
35.
35 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Config in the Environment
36.
36 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA III. Configuration âąâŻ An appâs config is everything that is likely to vary between deploys (staging, production, developer environments, etc). This includes: âąâŻ Resource handles to the database, Memcached, and other backing services âąâŻ Credentials to external services such as Amazon S3 or Twitter âąâŻ Per-deploy values such as the canonical hostname for the deploy âąâŻ Apps sometimes store config as constants in the code. This is a violation of twelve-factor, which requires strict separation of config from code. Config varies substantially across deploys, code does not. âąâŻ Note that this definition of âconfigâ does not include internal application config, such as config/ routes.rb in Rails, or how code modules are connected in Spring. This type of config does not vary between deploys, and so is best done in the code. âąâŻ The twelve-factor app stores config in environment variables (often shortened to env vars or env). Env vars are easy to change between deploys without changing any code; unlike config files, there is little chance of them being checked into the code repo accidentally; and unlike custom config files, or other config mechanisms such as Java System Properties, they are a language- and OS-agnostic standard.
37.
37 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Config Properties and Environment âąâŻ The approach â⯠Works iff you only configure at deployment. â⯠Breaks down if â⯠You are âstartingâ a new deployed instance that needs to be different. â⯠You need to modify a ârunningâ instance. âąâŻ What would you do such a crazy thing? âSaaSâ provided via â⯠Instance per tenant. â⯠Truly multitenant codebase. âąâŻ Configuration must be an API, and support configuring â⯠Resource model/schema. â⯠Some forms of application logic.
38.
38 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Multitenant Application is Two Applications (APIs, Services), which a platform makes a lot easier. Data Metadata User Role Assemble Config Role
39.
39 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Summary and Discussion
40.
40 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Summary and Discussion â An interesting Perspective, but ⊠âThose who fail to learn from history are doomed to repeat itâ. George Santayana Or maybe I am just a cranky old guy that time has passed by.
41.
41 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Lunch Yesterday
42.
42 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Looked a lot like this, with less smiling ⊠These kids do not know anything about DB. You should see what they do. Thatâs nothing. You should see how they do SOA.
43.
43 © Donald
F. Ferguson, 2015. All rights reserved.Some Essential for Modern Solution Development WSO2Con 2015 USA Summary and Discussion âąâŻ We can realize tremendous value from â⯠REST. â⯠Microservices. â⯠12 Factor Applications. â⯠Minimalistic infrastructure. â⯠Dynamic dependency resolution. â⯠Web callable middleware APIs. âąâŻ But, we risk losing benefits that emerged in middleware and standards when we started assmebling and composing solutions. â⯠Interface and dependency metadata. â⯠Optimized composition and integration engines and tools. â⯠Automated enablement of capabilities via functional containers. âąâŻ We should work to realize the benefits of both. The most crucial next steps is ensuring awareness and adoption of design patterns.
Baixar agora