SlideShare a Scribd company logo
1 of 18
Download to read offline
Introduction to SOA (II)
Huibert Aalbers
Senior Certified Software IT Architect
IT Insight podcast
• This podcast belongs to the IT Insight series

You can subscribe to the podcast through iTunes.
• Additional material such as presentations in PDF format or white
papers mentioned in the podcast can be downloaded from the IT
insight section of my site at http://www.huibert-aalbers.com
• You can send questions or suggestions regarding this podcast to my
personal email, huibert_aalbers@mac.com
The origins of SOA
• SOA (Service Oriented Architecture) is a direct answer to the needs of the
business users that require more flexible software applications that can be
quickly adapted to rapidly changing market conditions
• SOA is based on technologies initially developed for B2B applications but
that have proven very useful inside the intranet
Service Oriented Architecture (SOA)
• Instead of creating large complex applications, smaller reusable components
are developed which are easier to test and maintain
• Applications are created by graphically designing the process that interacts
with the components
• Each new application reuses existing components and only required
components that do not exist are developed
• Components are known as services
What is a service?
• A service represents a clearly defined business function that can be remotely
invoked through standard communication protocols
• Services are defined through explicit interfaces that are completely
independent of the service implementation (WSDL)
• Services should be invoked using standards that focus on interoperability and
location independence
How is a service programmed?
• Services can be developed in almost any programming languages (Java, C/
C++, C#, Cobol, RPG, Perl, etc.)
• This is very useful to modernize legacy systems
• However, for new services it is better to choose a single language based on
its merits for scalability, portability and high-availability. My personal choice is
Java
• Developing web services is the same as developing any kind of application.
It is therefore highly recommended to adopt a proven development
methodology to get it done right
Service Oriented Architecture
Nuevos
Componentes
Aplicaciones
Legadas
Bases
de Datos
Coreografía
de
WebServices
Servicios de
Portal
Negocios
B2B
Servicios de
Mensajería
The adoption of a service oriented architecture requires a scalable and secure
communications infrastructure to connect components.This is known as an
Enterprise Service Bus.
The Enterprise Service Bus (ESB)
• The Enterprise Service Bus is a concept that refers to the message transport
infrastructure software that reliably connects the process engine with the
enterprise services
• The bus has to be built on a rock solid infrastructure that guarantees
message delivery, no matter what problems could be affecting either the
network or particular services or systems
• The ESB has to offer complete security as well as connectivity to all the
legacy enterprise applications
• The bus should be easy to monitor since it becomes the spinal cord
connecting all the company business systems
Message Queues
• Message queues are used to communicate different applications, assuring
message delivery and reducing application development complexity
• They are usually employed to improve the availability and scalability of critical
IT systems
• Queues can be persistent or not and are used in either point-to-point or
publish and subscribe models
Point-to-Point & Publish and Subscribe
models
Point-to-point
Publish and Subscribe
JMS
• JMS (Java Message Service) is the Java API that allows to access message
queues in a standard way, independently of your software provider
(IBM,Tibco, Progress or others).
• In order to simplify the use of message queues, J2EE 1.3 introduced a new
type of EJB, called Message Driven Bean
Transformation and message routing
• For improved flexibility, it is better that instead of sharing a single queue,
each system be assigned its own queue which exchanges messages with
other queues through a message broker
• The mission of a broker is to take messages from a queue, transform them
and finally route them to another system, all within a single business
transaction
Broker
XML
Enterprise Application Integration
• J2C connectors are the easiest way to link J2EE applications to legacy
systems and exposing their functionality as services
• This makes it possible for legacy applications to actively participate in new
processes
• While J2EE application server providers are not required to also sell J2C
connectors, some do and, there are companies, specializing in providing
connectors
The standard for connecting J2EE applications to legacy applications is
known as Java Connector Architecture (J2C o JCA)
Service Orchestration
• By using the ESB infrastructure, it is possible to combine services to create a
new, more complex service
• This is known as web service orchestration
• There is a standard called BPEL (Business Process Execution Language) to
define automated processes
BPEL limitations
• BPEL is very useful to orchestrate web services but it is clearly insufficient to
define complex business processes
• No explicit support for human intervention, automatic distribution of tasks between
persons who share a role or escalation
• Does not include mechanisms to include in the processes components that are not
services, such as
• Rules engine
• State machines
• Etc.
SCA (Service Component Architecture)
• SCA is a new standard created by BEA and IBM to overcome the limitations of BPEL
• With SCA it becomes possible to model complex processes that include diverse
kinds of components
• BPEL processes
• Human interactions
• Rules engines, etc.
• SCA uses SDO (Service Data Objects JSR 235) to represent XML data flowing
through the process
Business Process Management
• One of the main benefits of adopting SCA and BPEL is that the business
processes are totally separated from the components that implement
business functions
• This will progressively allow business users to model the business processes
• New tools allow the monitoring of business processes created using BPEL
and SCA by measuring key performance indicators during process execution
• This information allows to improve the processes, closing the BPM virtuous
circle
Gracias
For more information, please contact me at
huibert_aalbers@mac.com

More Related Content

What's hot

Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Tamim Khan
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Brian Petrini
 
Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...Brian Petrini
 
Impact 2014 1147 - Bridging Business Process Management and Integration use c...
Impact 2014 1147 - Bridging Business Process Management and Integration use c...Impact 2014 1147 - Bridging Business Process Management and Integration use c...
Impact 2014 1147 - Bridging Business Process Management and Integration use c...Brian Petrini
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integrationsanjoysanyal
 
Enterprise Application Integration
Enterprise Application IntegrationEnterprise Application Integration
Enterprise Application IntegrationComputing Cage
 
SOA - Unit 1 - Introduction to SOA with Web Services
SOA - Unit   1 - Introduction to SOA with Web ServicesSOA - Unit   1 - Introduction to SOA with Web Services
SOA - Unit 1 - Introduction to SOA with Web Serviceshamsa nandhini
 
03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA ArchitecturePouria Ghatrenabi
 
Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...
Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...
Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...99X Technology
 
Enterprise application integration
Enterprise application integrationEnterprise application integration
Enterprise application integrationGoa App
 
(ISM310) Scholastic's Strategy to Integration as a Service
(ISM310) Scholastic's Strategy to Integration as a Service(ISM310) Scholastic's Strategy to Integration as a Service
(ISM310) Scholastic's Strategy to Integration as a ServiceAmazon Web Services
 
Challenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonChallenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonProlifics
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBNahser Bakht
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusFolio3 Software
 
ICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application IntegrationICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application IntegrationCrishantha Nanayakkara
 

What's hot (20)

ESB What it is?
ESB What it is?ESB What it is?
ESB What it is?
 
Overview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech MeetupOverview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech Meetup
 
01 esb fundamentals
01   esb fundamentals01   esb fundamentals
01 esb fundamentals
 
Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
 
Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...Impact 2012 1640 - BPM Design considerations when optimizing business process...
Impact 2012 1640 - BPM Design considerations when optimizing business process...
 
Impact 2014 1147 - Bridging Business Process Management and Integration use c...
Impact 2014 1147 - Bridging Business Process Management and Integration use c...Impact 2014 1147 - Bridging Business Process Management and Integration use c...
Impact 2014 1147 - Bridging Business Process Management and Integration use c...
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integration
 
Enterprise Application Integration
Enterprise Application IntegrationEnterprise Application Integration
Enterprise Application Integration
 
SOA - Unit 1 - Introduction to SOA with Web Services
SOA - Unit   1 - Introduction to SOA with Web ServicesSOA - Unit   1 - Introduction to SOA with Web Services
SOA - Unit 1 - Introduction to SOA with Web Services
 
03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture
 
Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...
Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...
Enterprise Integration Architectural Challenges in Large Enterprises - Colomb...
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Enterprise application integration
Enterprise application integrationEnterprise application integration
Enterprise application integration
 
(ISM310) Scholastic's Strategy to Integration as a Service
(ISM310) Scholastic's Strategy to Integration as a Service(ISM310) Scholastic's Strategy to Integration as a Service
(ISM310) Scholastic's Strategy to Integration as a Service
 
Challenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonChallenges to Integration Strategy - Thompson
Challenges to Integration Strategy - Thompson
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSB
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
EAI example
EAI exampleEAI example
EAI example
 
ICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application IntegrationICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application Integration
 

Similar to ITI005En-SOA (II)

Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...
Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...
Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...WSO2
 
Enterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxEnterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxcirek63365
 
Mule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMohammed Fazuluddin
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Red Hat JBOSS_ FuseServiceWorks_Feb2015
Red Hat JBOSS_ FuseServiceWorks_Feb2015Red Hat JBOSS_ FuseServiceWorks_Feb2015
Red Hat JBOSS_ FuseServiceWorks_Feb2015Isaac Wm. Cornetti
 
SOA 11g Foundation - 01.1 -SOA Overview.ppt
SOA 11g Foundation - 01.1 -SOA Overview.pptSOA 11g Foundation - 01.1 -SOA Overview.ppt
SOA 11g Foundation - 01.1 -SOA Overview.pptSudhirSinghShakyaVan
 
Extending and improving bps romania 30th of nov 2010
Extending and improving bps   romania 30th of nov 2010Extending and improving bps   romania 30th of nov 2010
Extending and improving bps romania 30th of nov 2010Doina Draganescu
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)Annie Comp
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 
Elado development capablities
Elado development capablitiesElado development capablities
Elado development capablitiesShashikant Sethy
 
WebServices and Workflow technologies
WebServices and Workflow technologiesWebServices and Workflow technologies
WebServices and Workflow technologiesNitin Pande
 

Similar to ITI005En-SOA (II) (20)

Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design Architecture
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...
Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...
Consumer to Data: Next-Generation Middleware and Cloud Platform for your Ente...
 
Enterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxEnterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docx
 
Mule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service Bus
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
ESB Fundamentals 3.7
ESB Fundamentals 3.7ESB Fundamentals 3.7
ESB Fundamentals 3.7
 
SOA Basics
SOA Basics SOA Basics
SOA Basics
 
SOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptxSOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptx
 
Red Hat JBOSS_ FuseServiceWorks_Feb2015
Red Hat JBOSS_ FuseServiceWorks_Feb2015Red Hat JBOSS_ FuseServiceWorks_Feb2015
Red Hat JBOSS_ FuseServiceWorks_Feb2015
 
Architecting for Scale
Architecting for ScaleArchitecting for Scale
Architecting for Scale
 
SOA 11g Foundation - 01.1 -SOA Overview.ppt
SOA 11g Foundation - 01.1 -SOA Overview.pptSOA 11g Foundation - 01.1 -SOA Overview.ppt
SOA 11g Foundation - 01.1 -SOA Overview.ppt
 
3.6 - ESB Fundamentals
3.6 - ESB Fundamentals3.6 - ESB Fundamentals
3.6 - ESB Fundamentals
 
Extending and improving bps romania 30th of nov 2010
Extending and improving bps   romania 30th of nov 2010Extending and improving bps   romania 30th of nov 2010
Extending and improving bps romania 30th of nov 2010
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
Elado development capablities
Elado development capablitiesElado development capablities
Elado development capablities
 
WebServices and Workflow technologies
WebServices and Workflow technologiesWebServices and Workflow technologies
WebServices and Workflow technologies
 

Recently uploaded

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

ITI005En-SOA (II)

  • 1. Introduction to SOA (II) Huibert Aalbers Senior Certified Software IT Architect
  • 2. IT Insight podcast • This podcast belongs to the IT Insight series
 You can subscribe to the podcast through iTunes. • Additional material such as presentations in PDF format or white papers mentioned in the podcast can be downloaded from the IT insight section of my site at http://www.huibert-aalbers.com • You can send questions or suggestions regarding this podcast to my personal email, huibert_aalbers@mac.com
  • 3. The origins of SOA • SOA (Service Oriented Architecture) is a direct answer to the needs of the business users that require more flexible software applications that can be quickly adapted to rapidly changing market conditions • SOA is based on technologies initially developed for B2B applications but that have proven very useful inside the intranet
  • 4. Service Oriented Architecture (SOA) • Instead of creating large complex applications, smaller reusable components are developed which are easier to test and maintain • Applications are created by graphically designing the process that interacts with the components • Each new application reuses existing components and only required components that do not exist are developed • Components are known as services
  • 5. What is a service? • A service represents a clearly defined business function that can be remotely invoked through standard communication protocols • Services are defined through explicit interfaces that are completely independent of the service implementation (WSDL) • Services should be invoked using standards that focus on interoperability and location independence
  • 6. How is a service programmed? • Services can be developed in almost any programming languages (Java, C/ C++, C#, Cobol, RPG, Perl, etc.) • This is very useful to modernize legacy systems • However, for new services it is better to choose a single language based on its merits for scalability, portability and high-availability. My personal choice is Java • Developing web services is the same as developing any kind of application. It is therefore highly recommended to adopt a proven development methodology to get it done right
  • 7. Service Oriented Architecture Nuevos Componentes Aplicaciones Legadas Bases de Datos Coreografía de WebServices Servicios de Portal Negocios B2B Servicios de Mensajería The adoption of a service oriented architecture requires a scalable and secure communications infrastructure to connect components.This is known as an Enterprise Service Bus.
  • 8. The Enterprise Service Bus (ESB) • The Enterprise Service Bus is a concept that refers to the message transport infrastructure software that reliably connects the process engine with the enterprise services • The bus has to be built on a rock solid infrastructure that guarantees message delivery, no matter what problems could be affecting either the network or particular services or systems • The ESB has to offer complete security as well as connectivity to all the legacy enterprise applications • The bus should be easy to monitor since it becomes the spinal cord connecting all the company business systems
  • 9. Message Queues • Message queues are used to communicate different applications, assuring message delivery and reducing application development complexity • They are usually employed to improve the availability and scalability of critical IT systems • Queues can be persistent or not and are used in either point-to-point or publish and subscribe models
  • 10. Point-to-Point & Publish and Subscribe models Point-to-point Publish and Subscribe
  • 11. JMS • JMS (Java Message Service) is the Java API that allows to access message queues in a standard way, independently of your software provider (IBM,Tibco, Progress or others). • In order to simplify the use of message queues, J2EE 1.3 introduced a new type of EJB, called Message Driven Bean
  • 12. Transformation and message routing • For improved flexibility, it is better that instead of sharing a single queue, each system be assigned its own queue which exchanges messages with other queues through a message broker • The mission of a broker is to take messages from a queue, transform them and finally route them to another system, all within a single business transaction Broker XML
  • 13. Enterprise Application Integration • J2C connectors are the easiest way to link J2EE applications to legacy systems and exposing their functionality as services • This makes it possible for legacy applications to actively participate in new processes • While J2EE application server providers are not required to also sell J2C connectors, some do and, there are companies, specializing in providing connectors The standard for connecting J2EE applications to legacy applications is known as Java Connector Architecture (J2C o JCA)
  • 14. Service Orchestration • By using the ESB infrastructure, it is possible to combine services to create a new, more complex service • This is known as web service orchestration • There is a standard called BPEL (Business Process Execution Language) to define automated processes
  • 15. BPEL limitations • BPEL is very useful to orchestrate web services but it is clearly insufficient to define complex business processes • No explicit support for human intervention, automatic distribution of tasks between persons who share a role or escalation • Does not include mechanisms to include in the processes components that are not services, such as • Rules engine • State machines • Etc.
  • 16. SCA (Service Component Architecture) • SCA is a new standard created by BEA and IBM to overcome the limitations of BPEL • With SCA it becomes possible to model complex processes that include diverse kinds of components • BPEL processes • Human interactions • Rules engines, etc. • SCA uses SDO (Service Data Objects JSR 235) to represent XML data flowing through the process
  • 17. Business Process Management • One of the main benefits of adopting SCA and BPEL is that the business processes are totally separated from the components that implement business functions • This will progressively allow business users to model the business processes • New tools allow the monitoring of business processes created using BPEL and SCA by measuring key performance indicators during process execution • This information allows to improve the processes, closing the BPM virtuous circle
  • 18. Gracias For more information, please contact me at huibert_aalbers@mac.com