SOA Trends for 2008SOA Trends for 2008
Svetlin NakovSvetlin NakovDirector Training and Consulting ActivitiesDirector Training and Consulting ActivitiesNational Academy for Software DevelopmentNational Academy for Software Development
http://academy.devbg.org
ICB Software Engineering ConferenceICB Software Engineering ConferencePomorie, 13 September 2008Pomorie, 13 September 2008
AgendaAgendaAgendaAgenda
1.1. What is SOA?What is SOA?
2.2. SOA and Web 2.0SOA and Web 2.0
• SOA in InternetSOA in Internet
• SOA in EnterprisesSOA in Enterprises
3.3. SOA Trends for 2008SOA Trends for 2008
1.1. What is SOA?What is SOA?
2.2. SOA and Web 2.0SOA and Web 2.0
• SOA in InternetSOA in Internet
• SOA in EnterprisesSOA in Enterprises
3.3. SOA Trends for 2008SOA Trends for 2008
About The SpeakerAbout The SpeakerAbout The SpeakerAbout The Speaker
• Svetlin NakovSvetlin Nakov
• Director training and consulting Director training and consulting activities, National Academy for activities, National Academy for Software Development (NASD)Software Development (NASD)
• Founder and Chairman of BASDFounder and Chairman of BASD
• 15 15 years of developer experienceyears of developer experience
• 8 8 year as a professional software year as a professional software engineer, trainer and consultantengineer, trainer and consultant
• Author of 4 books, 20 articles, and Author of 4 books, 20 articles, and 50 seminar lectures50 seminar lectures
• Lecturer in Sofia University and NBULecturer in Sofia University and NBU
• Svetlin NakovSvetlin Nakov
• Director training and consulting Director training and consulting activities, National Academy for activities, National Academy for Software Development (NASD)Software Development (NASD)
• Founder and Chairman of BASDFounder and Chairman of BASD
• 15 15 years of developer experienceyears of developer experience
• 8 8 year as a professional software year as a professional software engineer, trainer and consultantengineer, trainer and consultant
• Author of 4 books, 20 articles, and Author of 4 books, 20 articles, and 50 seminar lectures50 seminar lectures
• Lecturer in Sofia University and NBULecturer in Sofia University and NBU
What is SOA?What is SOA?
What is SOA?What is SOA?What is SOA?What is SOA?
• SOA is a concept for development of SOA is a concept for development of software systemssoftware systems
• Using reusable building blocks Using reusable building blocks (components) called "services"(components) called "services"
• Services in SOA are:Services in SOA are:
• AutonomousAutonomous
• Stateless business functionsStateless business functions
• Accept requests and return responsesAccept requests and return responses
• Use well-defined, standard interfaceUse well-defined, standard interface
• SOA is a concept for development of SOA is a concept for development of software systemssoftware systems
• Using reusable building blocks Using reusable building blocks (components) called "services"(components) called "services"
• Services in SOA are:Services in SOA are:
• AutonomousAutonomous
• Stateless business functionsStateless business functions
• Accept requests and return responsesAccept requests and return responses
• Use well-defined, standard interfaceUse well-defined, standard interface
SOA ServicesSOA ServicesSOA ServicesSOA Services
• AutonomousAutonomous
• Each service operates autonomouslyEach service operates autonomously
• Without any awareness that other Without any awareness that other services existservices exist
• StatelessStateless
• Have no memory, do not remember stateHave no memory, do not remember state
• Easy to scaleEasy to scale
• Request-response modelRequest-response model
• Client asks, server returns answerClient asks, server returns answer
• AutonomousAutonomous
• Each service operates autonomouslyEach service operates autonomously
• Without any awareness that other Without any awareness that other services existservices exist
• StatelessStateless
• Have no memory, do not remember stateHave no memory, do not remember state
• Easy to scaleEasy to scale
• Request-response modelRequest-response model
• Client asks, server returns answerClient asks, server returns answer
SOA ServicesSOA ServicesSOA ServicesSOA Services
• Communication through standard Communication through standard protocolsprotocols
• XML, SOAP, JSON, RSS, ATOM, ...XML, SOAP, JSON, RSS, ATOM, ...
• HTTP, FTP, SMTP, RPC, ...HTTP, FTP, SMTP, RPC, ...
• Not dependent on OS, platforms, Not dependent on OS, platforms, programming languagesprogramming languages
• DiscoverableDiscoverable
• Service registriesService registries
• Communication through standard Communication through standard protocolsprotocols
• XML, SOAP, JSON, RSS, ATOM, ...XML, SOAP, JSON, RSS, ATOM, ...
• HTTP, FTP, SMTP, RPC, ...HTTP, FTP, SMTP, RPC, ...
• Not dependent on OS, platforms, Not dependent on OS, platforms, programming languagesprogramming languages
• DiscoverableDiscoverable
• Service registriesService registries
SOA and Business Processes SOA and Business Processes Management (BPM)Management (BPM)SOA and Business Processes SOA and Business Processes Management (BPM)Management (BPM)
• Composite applicationsComposite applications
• Assembled form a set of services Assembled form a set of services combined to support a business processcombined to support a business process
• Business agilityBusiness agility
• Allows quick reaction to changesAllows quick reaction to changes
• Business Process Management (BPM)Business Process Management (BPM)
• Composite applications supportComposite applications support
• Process orchestration, execution, Process orchestration, execution, monitoring and optimizationmonitoring and optimization
• Composite applicationsComposite applications
• Assembled form a set of services Assembled form a set of services combined to support a business processcombined to support a business process
• Business agilityBusiness agility
• Allows quick reaction to changesAllows quick reaction to changes
• Business Process Management (BPM)Business Process Management (BPM)
• Composite applications supportComposite applications support
• Process orchestration, execution, Process orchestration, execution, monitoring and optimizationmonitoring and optimization
Loose CouplingLoose CouplingLoose CouplingLoose Coupling
• Loose coupling – main concept of SOALoose coupling – main concept of SOA
• Loosely coupled components:Loosely coupled components:
• Exhibits single functionExhibits single function
• Independent of other functionsIndependent of other functions
• Through a well-defined interfaceThrough a well-defined interface
• Loose coupling programming evolves:Loose coupling programming evolves:
• Structural programmingStructural programming
• Object-oriented programmingObject-oriented programming
• Service-oriented architecture (SOA)Service-oriented architecture (SOA)
• Loose coupling – main concept of SOALoose coupling – main concept of SOA
• Loosely coupled components:Loosely coupled components:
• Exhibits single functionExhibits single function
• Independent of other functionsIndependent of other functions
• Through a well-defined interfaceThrough a well-defined interface
• Loose coupling programming evolves:Loose coupling programming evolves:
• Structural programmingStructural programming
• Object-oriented programmingObject-oriented programming
• Service-oriented architecture (SOA)Service-oriented architecture (SOA)
SOA and Web 2.0?SOA and Web 2.0?
SOA and Web 2.0SOA and Web 2.0
• Moving to a "services model" – global IT Moving to a "services model" – global IT trend for both:trend for both:• Internet businessInternet business
• Inside an enterpriseInside an enterprise
• Two main SOA scenariosTwo main SOA scenarios• SOA in InternetSOA in Internet
• Software as service, Web 2.0, RIA, ...Software as service, Web 2.0, RIA, ...
• SOA inside an enterpriseSOA inside an enterprise• Heavy SOA stacks: WS-*, BPM, BPEL, Heavy SOA stacks: WS-*, BPM, BPEL,
WCF, SCA, ESB, ...WCF, SCA, ESB, ...
SOA in Internet and Inside an SOA in Internet and Inside an EnterpriseEnterpriseSOA in Internet and Inside an SOA in Internet and Inside an EnterpriseEnterprise
• Trends for service-orientation of the IT Trends for service-orientation of the IT businessbusiness
• Trends for service-orientation of the IT Trends for service-orientation of the IT businessbusiness
Source: Dion Hinchcliffe, ZDNet blogsSource: Dion Hinchcliffe, ZDNet blogsSource: Dion Hinchcliffe, ZDNet blogsSource: Dion Hinchcliffe, ZDNet blogs
SOA in InternetSOA in InternetSOA in InternetSOA in Internet
• Internet companies implement Internet companies implement lightweight SOAlightweight SOA in Internet in Internet
• Also called WOA (Web-Oriented Also called WOA (Web-Oriented Architecture)Architecture)
• Examples: Google, Amazon, Facebook, ...Examples: Google, Amazon, Facebook, ...
• Tend to provide software as serviceTend to provide software as service
• Based on lightweight Web standards:Based on lightweight Web standards:
• AJAX and Rich Internet Applications (RIA)AJAX and Rich Internet Applications (RIA)
• REST, RSS, JSON, proprietary APIsREST, RSS, JSON, proprietary APIs
• Internet companies implement Internet companies implement lightweight SOAlightweight SOA in Internet in Internet
• Also called WOA (Web-Oriented Also called WOA (Web-Oriented Architecture)Architecture)
• Examples: Google, Amazon, Facebook, ...Examples: Google, Amazon, Facebook, ...
• Tend to provide software as serviceTend to provide software as service
• Based on lightweight Web standards:Based on lightweight Web standards:
• AJAX and Rich Internet Applications (RIA)AJAX and Rich Internet Applications (RIA)
• REST, RSS, JSON, proprietary APIsREST, RSS, JSON, proprietary APIs
SOA in EnterprisesSOA in EnterprisesSOA in EnterprisesSOA in Enterprises
• Heavyweight SOAHeavyweight SOA stacks stacks
• Driven by business processes: BPM, Driven by business processes: BPM, BPMN, BPEL, ...BPMN, BPEL, ...
• Enterprise application integration (EAI)Enterprise application integration (EAI)
• B2B integrationB2B integration
• SOA based portalsSOA based portals
• Unified Frameworks: SCA and WCFUnified Frameworks: SCA and WCF
• Enterprise Service Bus (ESB)Enterprise Service Bus (ESB)
• SOA governance (control)SOA governance (control)
• Heavyweight SOAHeavyweight SOA stacks stacks
• Driven by business processes: BPM, Driven by business processes: BPM, BPMN, BPEL, ...BPMN, BPEL, ...
• Enterprise application integration (EAI)Enterprise application integration (EAI)
• B2B integrationB2B integration
• SOA based portalsSOA based portals
• Unified Frameworks: SCA and WCFUnified Frameworks: SCA and WCF
• Enterprise Service Bus (ESB)Enterprise Service Bus (ESB)
• SOA governance (control)SOA governance (control)
SOA in Internet vs. SOA in SOA in Internet vs. SOA in EnterprisesEnterprisesSOA in Internet vs. SOA in SOA in Internet vs. SOA in EnterprisesEnterprises
• SOA in InternetSOA in Internet
• Lightweight, easy-to-use, accessibleLightweight, easy-to-use, accessible
• Very fast adoption – business needs itVery fast adoption – business needs it
• SOA in EnterprisesSOA in Enterprises
• Heavyweight and complexHeavyweight and complex
• Slow adoptionSlow adoption
• MixturesMixtures
• Lightweight for Web 2.0 and heavyweight Lightweight for Web 2.0 and heavyweight for trading partnersfor trading partners
• SOA in InternetSOA in Internet
• Lightweight, easy-to-use, accessibleLightweight, easy-to-use, accessible
• Very fast adoption – business needs itVery fast adoption – business needs it
• SOA in EnterprisesSOA in Enterprises
• Heavyweight and complexHeavyweight and complex
• Slow adoptionSlow adoption
• MixturesMixtures
• Lightweight for Web 2.0 and heavyweight Lightweight for Web 2.0 and heavyweight for trading partnersfor trading partners
SOA Trends for 2008SOA Trends for 2008
SOA AdoptionSOA AdoptionSOA AdoptionSOA Adoption
• Why SOA adoption is slow?Why SOA adoption is slow?• SOA is not a better technologySOA is not a better technology
• It is a better approach to ITIt is a better approach to IT
• SOA is not a "buy" solutionSOA is not a "buy" solution• It is a "build" solutionIt is a "build" solution
• Purchasing a product will not turn your IT Purchasing a product will not turn your IT infrastructure to SOAinfrastructure to SOA
• Slow migration to SOASlow migration to SOA• New software is build with SOA in mindNew software is build with SOA in mind
• Old software is adopted to support SOAOld software is adopted to support SOA
• Why SOA adoption is slow?Why SOA adoption is slow?• SOA is not a better technologySOA is not a better technology
• It is a better approach to ITIt is a better approach to IT
• SOA is not a "buy" solutionSOA is not a "buy" solution• It is a "build" solutionIt is a "build" solution
• Purchasing a product will not turn your IT Purchasing a product will not turn your IT infrastructure to SOAinfrastructure to SOA
• Slow migration to SOASlow migration to SOA• New software is build with SOA in mindNew software is build with SOA in mind
• Old software is adopted to support SOAOld software is adopted to support SOA
Obstacles in SOA AdoptionObstacles in SOA AdoptionObstacles in SOA AdoptionObstacles in SOA Adoption
• Obstacles to SOA adoption in enterprisesObstacles to SOA adoption in enterprises
• Need of new thinking for the ITNeed of new thinking for the IT
• Resources, tasks, budgets and skills need Resources, tasks, budgets and skills need to be shared across projectsto be shared across projects
• Not dedicated solely to a single projectNot dedicated solely to a single project
• Unclear return of investments (ROI)Unclear return of investments (ROI)
• SOA in InternetSOA in Internet
• Easy-to-implement, takes less timeEasy-to-implement, takes less time
• Immediate return of investments (ROI)Immediate return of investments (ROI)
• Obstacles to SOA adoption in enterprisesObstacles to SOA adoption in enterprises
• Need of new thinking for the ITNeed of new thinking for the IT
• Resources, tasks, budgets and skills need Resources, tasks, budgets and skills need to be shared across projectsto be shared across projects
• Not dedicated solely to a single projectNot dedicated solely to a single project
• Unclear return of investments (ROI)Unclear return of investments (ROI)
• SOA in InternetSOA in Internet
• Easy-to-implement, takes less timeEasy-to-implement, takes less time
• Immediate return of investments (ROI)Immediate return of investments (ROI)
SOA Trends for 2008SOA Trends for 2008SOA Trends for 2008SOA Trends for 2008
• SOA adoption in 2008 will continue to SOA adoption in 2008 will continue to increaseincrease
• The IT culture will continue to changeThe IT culture will continue to change
• Build services instead of single projectsBuild services instead of single projects
• Enterprises tend to build more SOA-Enterprises tend to build more SOA-enabled projectsenabled projects
• SOA products market will continue growSOA products market will continue grow
• Open source solutions will emergeOpen source solutions will emerge
• SOA adoption in 2008 will continue to SOA adoption in 2008 will continue to increaseincrease
• The IT culture will continue to changeThe IT culture will continue to change
• Build services instead of single projectsBuild services instead of single projects
• Enterprises tend to build more SOA-Enterprises tend to build more SOA-enabled projectsenabled projects
• SOA products market will continue growSOA products market will continue grow
• Open source solutions will emergeOpen source solutions will emerge
SOA Infrastructure TrendsSOA Infrastructure TrendsSOA Infrastructure TrendsSOA Infrastructure Trends
• Virtualization will impact SOA Virtualization will impact SOA deploymentdeployment
• Computing clouds will impact SOAComputing clouds will impact SOA
• Amazon and SalesForce already have Amazon and SalesForce already have "computing clouds" solutions"computing clouds" solutions
• SOA scale-out infrastructures build on SOA scale-out infrastructures build on low-cost hardware adoptionlow-cost hardware adoption
• Google, eBay, Amazon and PayPal Google, eBay, Amazon and PayPal already have such technologyalready have such technology
• Virtualization will impact SOA Virtualization will impact SOA deploymentdeployment
• Computing clouds will impact SOAComputing clouds will impact SOA
• Amazon and SalesForce already have Amazon and SalesForce already have "computing clouds" solutions"computing clouds" solutions
• SOA scale-out infrastructures build on SOA scale-out infrastructures build on low-cost hardware adoptionlow-cost hardware adoption
• Google, eBay, Amazon and PayPal Google, eBay, Amazon and PayPal already have such technologyalready have such technology
SOA Technology TrendsSOA Technology TrendsSOA Technology TrendsSOA Technology Trends
• Adoption of SOA patterns and EAI patternsAdoption of SOA patterns and EAI patterns
• Open source SOA products will get more Open source SOA products will get more market sharemarket share
• In Java world: increase of OSGi adoptionIn Java world: increase of OSGi adoption
• In Microsoft world: WCF adoptionIn Microsoft world: WCF adoption
• Domain-specific languages for SOADomain-specific languages for SOA
• Adoption of lightweight technologies Adoption of lightweight technologies (REST, JSON, ...) will run in parallel with (REST, JSON, ...) will run in parallel with adoption of SOAP and WS-* technologiesadoption of SOAP and WS-* technologies
• Abstract APIs like WCF and SCA will emergeAbstract APIs like WCF and SCA will emerge
• Adoption of SOA patterns and EAI patternsAdoption of SOA patterns and EAI patterns
• Open source SOA products will get more Open source SOA products will get more market sharemarket share
• In Java world: increase of OSGi adoptionIn Java world: increase of OSGi adoption
• In Microsoft world: WCF adoptionIn Microsoft world: WCF adoption
• Domain-specific languages for SOADomain-specific languages for SOA
• Adoption of lightweight technologies Adoption of lightweight technologies (REST, JSON, ...) will run in parallel with (REST, JSON, ...) will run in parallel with adoption of SOAP and WS-* technologiesadoption of SOAP and WS-* technologies
• Abstract APIs like WCF and SCA will emergeAbstract APIs like WCF and SCA will emerge
SOA Trends – 2008SOA Trends – 2008SOA Trends – 2008SOA Trends – 2008
Questions?Questions?Questions?Questions?